{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "ee9e1e68",
   "metadata": {},
   "source": [
    "# Report3 - 服装分类\n",
    "    姓名：刘晓冉\n",
    "    学号：2021300706\n",
    "\n",
    "### 任务简介 \n",
    "\n",
    "    任务类型：多分类\n",
    "\n",
    "    背景介绍：FashionMNIST 是一个替代 MNIST 手写数字集的图像数据集。 它是由 Zalando（一家德国的时尚科技公司）旗下的研究部门提供。其涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。\n",
    "\n",
    "    FashionMNIST 的大小、格式和训练集/测试集划分与原始的 MNIST 完全一致。60000/10000 的训练测试数据划分，28x28 的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能，且不需要改动任何的代码。Fashion-MNIST的目的是要成为MNIST数据集的一个直接替代品。作为算法作者，你不需要修改任何的代码，就可以直接使用这个数据集。Fashion-MNIST的图片大小，训练、测试样本数及类别数与经典MNIST完全相同。\n",
    "\n",
    "    主要任务：构建深度神经网络，完成多分类 编写爬虫程序，到taobao等网站抓取一些衣服、鞋子的图片，并利用训练好的模型进行分类\n",
    "\n",
    "\n",
    "### 解决途径\n",
    "    整体的思路： 数据处理，训练分类训练。 爬虫程序，下载图片，进行训练。\n",
    "\n",
    "    选用方法：使用深度学习网络分类， 利用 urllib 解析网页， re正则表达式解析图片\n",
    "\n",
    "    遇到的问题： 网络搭建， 正则表达的编写,提高网络的跨域性"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7a55aae",
   "metadata": {},
   "source": [
    "### Fashion-MNIST数据说明\n",
    "\n",
    "`Fashion-MNIST`的数据集的存储方式和命名与[经典MNIST数据集](http://yann.lecun.com/exdb/mnist/)完全一致。\n",
    "\n",
    "这个数据集的样子大致如下（每个类别占三行）：\n",
    "\n",
    "![](doc/fashion-mnist-sprite.png)\n",
    "\n",
    "每个训练和测试样本都按照以下类别进行了标注：\n",
    "\n",
    "| 标注编号 | 描述 |\n",
    "| --- | --- |\n",
    "| 0 | T-shirt/top（T恤）|\n",
    "| 1 | Trouser（裤子）|\n",
    "| 2 | Pullover（套衫）|\n",
    "| 3 | Dress（裙子）|\n",
    "| 4 | Coat（外套）|\n",
    "| 5 | Sandal（凉鞋）|\n",
    "| 6 | Shirt（汗衫）|\n",
    "| 7 | Sneaker（运动鞋）|\n",
    "| 8 | Bag（包）|\n",
    "| 9 | Ankle boot（踝靴）|"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "0789fdd8",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "from torch.utils import data\n",
    "import torch.optim as optim\n",
    "import torchvision.transforms as transforms\n",
    "import torchvision\n",
    "from IPython import display\n",
    "from d2l import torch as d2l\n",
    "from torch.autograd import Variable\n",
    "import torch.nn.functional as F\n",
    "import argparse                         # 加载处理命令行参数的库\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd25df52",
   "metadata": {},
   "source": [
    "为提高模型的泛化能力，一般会将数据进行增强操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "6a9cefca",
   "metadata": {},
   "outputs": [],
   "source": [
    "# transform 主要进行了左右翻转，灰度随机变换，用来给训练的图像进行数据增强\n",
    "# transforms.Compose串联多个图片变换的操作\n",
    "transform_train = transforms.Compose(\n",
    "    [\n",
    "     transforms.RandomHorizontalFlip(),   #随机水平翻转，概率为0.5，一半的概率翻转，一半的概率不翻转。\n",
    "     transforms.RandomGrayscale(),        #依概率p转为灰度图\n",
    "     transforms.ToTensor()])              #转为tensor，并归一化至[0-1]\n",
    "# transform.ToTensor()将尺寸为（H，W，C)且数据位于[0,255]的PIL图片\n",
    "# 或者数据类型为np.unit8的Numpy数组\n",
    "# 转化为(CxHxW)且数据类型为torch.float32且位于[0.0,1.0]的Tensor\n",
    "transform_test = transforms.Compose([transforms.ToTensor()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a1c8965b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# LOADING DATASET\n",
    "mnist_train = torchvision.datasets.FashionMNIST(root='./data', train=True,download=True,transform=transform_train)\n",
    "mnist_test = torchvision.datasets.FashionMNIST(root='./data',train=False,download=True,transform=transform_test)\n",
    "classes = ('T-shirt', 'Trouser', 'Pullover', 'Dress','Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4942fc85",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "f_mnist_train length: 60000\n",
      "f_mnist_test length: 10000\n"
     ]
    }
   ],
   "source": [
    "def get_f_mnist_labels(labels):\n",
    "    \"\"\"\n",
    "    :param labels: 图片对应的标签（0-9的数字）\n",
    "    :return: 标签对应的描述\n",
    "    \"\"\"\n",
    "    text_labels = ['t-shirt', 'trouser', 'pullover', 'dress', 'coat', 'sandal', 'shirt', 'sneaker', 'bag', 'ankle boot']\n",
    "    return [text_labels[int(i)] for i in labels]\n",
    "\n",
    "def show_fashion_mnist(images, labels):\n",
    "    \"\"\"\n",
    "    :param images: 读取的图片\n",
    "    :param labels: 图片对应的标签\n",
    "    :return: None, 输出图片，并且在图片上方对应标签给出描述\n",
    "    \"\"\"\n",
    "    _, figs = plt.subplots(1, len(images), figsize=(12, 2))\n",
    "    for f, img, lbl in zip(figs, images, labels):\n",
    "        f.imshow(img.view((28, 28)))\n",
    "        f.set_title(lbl)\n",
    "        f.axes.get_xaxis().set_visible(False)\n",
    "        f.axes.get_yaxis().set_visible(False)\n",
    "    plt.show()\n",
    "\n",
    "print(\"f_mnist_train length:\", len(mnist_train), end='\\n')\n",
    "print(\"f_mnist_test length:\", len(mnist_test), end='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "efb0e30d",
   "metadata": {},
   "source": [
    "训练数据集和测试数据集分别为60000，10000<br>\n",
    "训练集和测试集都有10个类别，训练集中每个类别的图像数为6000，测试集中每个类别的图像数为1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "81c76d39",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x144 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x, y = [], []\n",
    "for i in range(10):\n",
    "    x.append(mnist_train[i][0])\n",
    "    y.append(mnist_train[i][1])\n",
    "show_fashion_mnist(x, get_f_mnist_labels(y))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0af3494d",
   "metadata": {},
   "source": [
    "### mlp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "d9f579d2",
   "metadata": {},
   "outputs": [],
   "source": [
    "def load_data_fashion_mnist(batch_size, resize=None): #@save\n",
    "    \"\"\"下载Fashion-MNIST数据集，然后将其加载到内存中\"\"\"\n",
    "    trans = [transforms.ToTensor()]\n",
    "    if resize:\n",
    "        trans.insert(0, transforms.Resize(resize))\n",
    "    trans = transforms.Compose(trans)\n",
    "    mnist_train = torchvision.datasets.FashionMNIST(root='./data', train=True, transform=trans, download=True)\n",
    "    mnist_test = torchvision.datasets.FashionMNIST(root='./data', train=False, transform=trans, download=True)\n",
    "    return (data.DataLoader(mnist_train, batch_size, shuffle=True,num_workers=4),\n",
    "            data.DataLoader(mnist_test, batch_size, shuffle=False,num_workers=4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ab0d9d54",
   "metadata": {},
   "outputs": [],
   "source": [
    "class Accumulator: #@save\n",
    "    \"\"\"在n个变量上累加\"\"\"\n",
    "    def __init__(self, n):\n",
    "        self.data = [0.0] * n\n",
    "    def add(self, *args):\n",
    "        self.data = [a + float(b) for a, b in zip(self.data, args)]\n",
    "    def reset(self):\n",
    "        self.data = [0.0] * len(self.data)\n",
    "    def __getitem__(self, idx):\n",
    "        return self.data[idx]\n",
    "\n",
    "class Animator: #@save\n",
    "    \"\"\"在动画中绘制数据\"\"\"\n",
    "    def __init__(self, xlabel=None, ylabel=None, legend=None, xlim=None,ylim=None, xscale='linear', \n",
    "                 yscale='linear',fmts=('-', 'm--', 'g-.', 'r:'), nrows=1, ncols=1,figsize=(3.5, 2.5)):\n",
    "        # 增量地绘制多条线\n",
    "        if legend is None:\n",
    "            legend = []\n",
    "        d2l.use_svg_display()\n",
    "        self.fig, self.axes = d2l.plt.subplots(nrows, ncols, figsize=figsize)\n",
    "        if nrows * ncols == 1:\n",
    "            self.axes = [self.axes, ]\n",
    "        # 使⽤lambda函数捕获参数\n",
    "        self.config_axes = lambda: d2l.set_axes(self.axes[0], xlabel, ylabel, xlim, ylim, xscale, yscale, legend)\n",
    "        self.X, self.Y, self.fmts = None, None, fmts\n",
    "    \n",
    "    def add(self, x, y): #@save\n",
    "        # 向图表中添加多个数据点\n",
    "        if not hasattr(y, \"__len__\"):\n",
    "            y = [y]\n",
    "        n = len(y)\n",
    "        if not hasattr(x, \"__len__\"):\n",
    "            x = [x] * n\n",
    "        if not self.X:\n",
    "            self.X = [[] for _ in range(n)]\n",
    "        if not self.Y:\n",
    "            self.Y = [[] for _ in range(n)]\n",
    "        for i, (a, b) in enumerate(zip(x, y)):\n",
    "            if a is not None and b is not None:\n",
    "                self.X[i].append(a)\n",
    "                self.Y[i].append(b)\n",
    "        self.axes[0].cla()\n",
    "        for x, y, fmt in zip(self.X, self.Y, self.fmts):\n",
    "            self.axes[0].plot(x, y, fmt)\n",
    "        self.config_axes()\n",
    "        display.display(self.fig)\n",
    "        display.clear_output(wait=True)\n",
    "\n",
    "def accuracy(y_hat, y): #@save\n",
    "    \"\"\"计算预测正确的数量\"\"\"\n",
    "    if len(y_hat.shape) > 1 and y_hat.shape[1] > 1:\n",
    "        y_hat = y_hat.argmax(axis=1)\n",
    "    cmp = y_hat.type(y.dtype) == y\n",
    "    return float(cmp.type(y.dtype).sum())\n",
    "\n",
    "def evaluate_accuracy(net, data_iter): #@save\n",
    "    \"\"\"计算在指定数据集上模型的精度\"\"\"\n",
    "    if isinstance(net, torch.nn.Module):\n",
    "        net.eval() # 将模型设置为评估模式\n",
    "    metric = Accumulator(2) # 正确预测数、预测总数\n",
    "    with torch.no_grad():\n",
    "        for X, y in data_iter:\n",
    "            metric.add(accuracy(net(X), y), y.numel())\n",
    "    return metric[0] / metric[1]\n",
    "\n",
    "def train_epoch(net, train_iter, loss, updater): #@save\n",
    "    \"\"\"训练模型⼀个迭代周期\"\"\"\n",
    "    # 将模型设置为训练模式\n",
    "    if isinstance(net, torch.nn.Module):\n",
    "        net.train()\n",
    "    # 训练损失总和、训练准确度总和、样本数\n",
    "    metric = Accumulator(3)\n",
    "    for X, y in train_iter:\n",
    "        # 计算梯度并更新参数\n",
    "        y_hat = net(X)\n",
    "        l = loss(y_hat, y)\n",
    "        if isinstance(updater, torch.optim.Optimizer):\n",
    "            # 使⽤PyTorch内置的优化器和损失函数\n",
    "            updater.zero_grad()\n",
    "            l.mean().backward()\n",
    "            updater.step()\n",
    "        else:# 使⽤定制的优化器和损失函数\n",
    "            l.sum().backward()\n",
    "            updater(X.shape[0])\n",
    "        metric.add(float(l.sum()), accuracy(y_hat, y), y.numel())\n",
    "    return metric[0] / metric[2], metric[1] / metric[2]    # 返回训练损失和训练精度\n",
    "\n",
    "def train(net, train_iter, test_iter, loss, num_epochs, updater): #@save\n",
    "    \"\"\"训练模型\"\"\"\n",
    "    animator = Animator(xlabel='epoch', xlim=[1, num_epochs], ylim=[0.3, 0.9],legend=['train loss', 'train acc', 'test acc'])\n",
    "    for epoch in range(num_epochs):\n",
    "        train_metrics = train_epoch(net, train_iter, loss, updater)\n",
    "        test_acc = evaluate_accuracy(net, test_iter)\n",
    "        animator.add(epoch + 1, train_metrics + (test_acc,))\n",
    "    train_loss, train_acc = train_metrics\n",
    "    assert train_loss < 0.5, train_loss\n",
    "    assert train_acc <= 1 and train_acc > 0.7, train_acc\n",
    "    assert test_acc <= 1 and test_acc > 0.7, test_acc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "505af049",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sequential(\n",
       "  (0): Flatten(start_dim=1, end_dim=-1)\n",
       "  (1): Linear(in_features=784, out_features=256, bias=True)\n",
       "  (2): ReLU()\n",
       "  (3): Linear(in_features=256, out_features=10, bias=True)\n",
       ")"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "net = nn.Sequential(nn.Flatten(),nn.Linear(784, 256),nn.ReLU(),nn.Linear(256, 10))\n",
    "\n",
    "def init_weights(m):\n",
    "    if type(m) == nn.Linear:\n",
    "        nn.init.normal_(m.weight, std=0.01)\n",
    "\n",
    "net.apply(init_weights)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "396b1c17",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n",
       "<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       " <metadata>\r\n",
       "  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n",
       "   <cc:Work>\r\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n",
       "    <dc:date>2022-02-19T20:08:21.607191</dc:date>\r\n",
       "    <dc:format>image/svg+xml</dc:format>\r\n",
       "    <dc:creator>\r\n",
       "     <cc:Agent>\r\n",
       "      <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n",
       "     </cc:Agent>\r\n",
       "    </dc:creator>\r\n",
       "   </cc:Work>\r\n",
       "  </rdf:RDF>\r\n",
       " </metadata>\r\n",
       " <defs>\r\n",
       "  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n",
       " </defs>\r\n",
       " <g id=\"figure_1\">\r\n",
       "  <g id=\"patch_1\">\r\n",
       "   <path d=\"M 0 180.65625 \r\n",
       "L 238.965625 180.65625 \r\n",
       "L 238.965625 0 \r\n",
       "L 0 0 \r\n",
       "z\r\n",
       "\" style=\"fill:none;\"/>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_1\">\r\n",
       "   <g id=\"patch_2\">\r\n",
       "    <path d=\"M 30.103125 143.1 \r\n",
       "L 225.403125 143.1 \r\n",
       "L 225.403125 7.2 \r\n",
       "L 30.103125 7.2 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_1\">\r\n",
       "    <g id=\"xtick_1\">\r\n",
       "     <g id=\"line2d_1\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 51.803125 143.1 \r\n",
       "L 51.803125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_2\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L 0 3.5 \r\n",
       "\" id=\"m812f3b0043\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#m812f3b0043\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_1\">\r\n",
       "      <!-- 2 -->\r\n",
       "      <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 19.1875 8.296875 \r\n",
       "L 53.609375 8.296875 \r\n",
       "L 53.609375 0 \r\n",
       "L 7.328125 0 \r\n",
       "L 7.328125 8.296875 \r\n",
       "Q 12.9375 14.109375 22.625 23.890625 \r\n",
       "Q 32.328125 33.6875 34.8125 36.53125 \r\n",
       "Q 39.546875 41.84375 41.421875 45.53125 \r\n",
       "Q 43.3125 49.21875 43.3125 52.78125 \r\n",
       "Q 43.3125 58.59375 39.234375 62.25 \r\n",
       "Q 35.15625 65.921875 28.609375 65.921875 \r\n",
       "Q 23.96875 65.921875 18.8125 64.3125 \r\n",
       "Q 13.671875 62.703125 7.8125 59.421875 \r\n",
       "L 7.8125 69.390625 \r\n",
       "Q 13.765625 71.78125 18.9375 73 \r\n",
       "Q 24.125 74.21875 28.421875 74.21875 \r\n",
       "Q 39.75 74.21875 46.484375 68.546875 \r\n",
       "Q 53.21875 62.890625 53.21875 53.421875 \r\n",
       "Q 53.21875 48.921875 51.53125 44.890625 \r\n",
       "Q 49.859375 40.875 45.40625 35.40625 \r\n",
       "Q 44.1875 33.984375 37.640625 27.21875 \r\n",
       "Q 31.109375 20.453125 19.1875 8.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-50\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_2\">\r\n",
       "     <g id=\"line2d_3\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 95.203125 143.1 \r\n",
       "L 95.203125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_4\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#m812f3b0043\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_2\">\r\n",
       "      <!-- 4 -->\r\n",
       "      <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 37.796875 64.3125 \r\n",
       "L 12.890625 25.390625 \r\n",
       "L 37.796875 25.390625 \r\n",
       "z\r\n",
       "M 35.203125 72.90625 \r\n",
       "L 47.609375 72.90625 \r\n",
       "L 47.609375 25.390625 \r\n",
       "L 58.015625 25.390625 \r\n",
       "L 58.015625 17.1875 \r\n",
       "L 47.609375 17.1875 \r\n",
       "L 47.609375 0 \r\n",
       "L 37.796875 0 \r\n",
       "L 37.796875 17.1875 \r\n",
       "L 4.890625 17.1875 \r\n",
       "L 4.890625 26.703125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-52\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-52\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_3\">\r\n",
       "     <g id=\"line2d_5\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 138.603125 143.1 \r\n",
       "L 138.603125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_6\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#m812f3b0043\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_3\">\r\n",
       "      <!-- 6 -->\r\n",
       "      <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 33.015625 40.375 \r\n",
       "Q 26.375 40.375 22.484375 35.828125 \r\n",
       "Q 18.609375 31.296875 18.609375 23.390625 \r\n",
       "Q 18.609375 15.53125 22.484375 10.953125 \r\n",
       "Q 26.375 6.390625 33.015625 6.390625 \r\n",
       "Q 39.65625 6.390625 43.53125 10.953125 \r\n",
       "Q 47.40625 15.53125 47.40625 23.390625 \r\n",
       "Q 47.40625 31.296875 43.53125 35.828125 \r\n",
       "Q 39.65625 40.375 33.015625 40.375 \r\n",
       "z\r\n",
       "M 52.59375 71.296875 \r\n",
       "L 52.59375 62.3125 \r\n",
       "Q 48.875 64.0625 45.09375 64.984375 \r\n",
       "Q 41.3125 65.921875 37.59375 65.921875 \r\n",
       "Q 27.828125 65.921875 22.671875 59.328125 \r\n",
       "Q 17.53125 52.734375 16.796875 39.40625 \r\n",
       "Q 19.671875 43.65625 24.015625 45.921875 \r\n",
       "Q 28.375 48.1875 33.59375 48.1875 \r\n",
       "Q 44.578125 48.1875 50.953125 41.515625 \r\n",
       "Q 57.328125 34.859375 57.328125 23.390625 \r\n",
       "Q 57.328125 12.15625 50.6875 5.359375 \r\n",
       "Q 44.046875 -1.421875 33.015625 -1.421875 \r\n",
       "Q 20.359375 -1.421875 13.671875 8.265625 \r\n",
       "Q 6.984375 17.96875 6.984375 36.375 \r\n",
       "Q 6.984375 53.65625 15.1875 63.9375 \r\n",
       "Q 23.390625 74.21875 37.203125 74.21875 \r\n",
       "Q 40.921875 74.21875 44.703125 73.484375 \r\n",
       "Q 48.484375 72.75 52.59375 71.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-54\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-54\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_4\">\r\n",
       "     <g id=\"line2d_7\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 182.003125 143.1 \r\n",
       "L 182.003125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_8\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#m812f3b0043\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_4\">\r\n",
       "      <!-- 8 -->\r\n",
       "      <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 31.78125 34.625 \r\n",
       "Q 24.75 34.625 20.71875 30.859375 \r\n",
       "Q 16.703125 27.09375 16.703125 20.515625 \r\n",
       "Q 16.703125 13.921875 20.71875 10.15625 \r\n",
       "Q 24.75 6.390625 31.78125 6.390625 \r\n",
       "Q 38.8125 6.390625 42.859375 10.171875 \r\n",
       "Q 46.921875 13.96875 46.921875 20.515625 \r\n",
       "Q 46.921875 27.09375 42.890625 30.859375 \r\n",
       "Q 38.875 34.625 31.78125 34.625 \r\n",
       "z\r\n",
       "M 21.921875 38.8125 \r\n",
       "Q 15.578125 40.375 12.03125 44.71875 \r\n",
       "Q 8.5 49.078125 8.5 55.328125 \r\n",
       "Q 8.5 64.0625 14.71875 69.140625 \r\n",
       "Q 20.953125 74.21875 31.78125 74.21875 \r\n",
       "Q 42.671875 74.21875 48.875 69.140625 \r\n",
       "Q 55.078125 64.0625 55.078125 55.328125 \r\n",
       "Q 55.078125 49.078125 51.53125 44.71875 \r\n",
       "Q 48 40.375 41.703125 38.8125 \r\n",
       "Q 48.828125 37.15625 52.796875 32.3125 \r\n",
       "Q 56.78125 27.484375 56.78125 20.515625 \r\n",
       "Q 56.78125 9.90625 50.3125 4.234375 \r\n",
       "Q 43.84375 -1.421875 31.78125 -1.421875 \r\n",
       "Q 19.734375 -1.421875 13.25 4.234375 \r\n",
       "Q 6.78125 9.90625 6.78125 20.515625 \r\n",
       "Q 6.78125 27.484375 10.78125 32.3125 \r\n",
       "Q 14.796875 37.15625 21.921875 38.8125 \r\n",
       "z\r\n",
       "M 18.3125 54.390625 \r\n",
       "Q 18.3125 48.734375 21.84375 45.5625 \r\n",
       "Q 25.390625 42.390625 31.78125 42.390625 \r\n",
       "Q 38.140625 42.390625 41.71875 45.5625 \r\n",
       "Q 45.3125 48.734375 45.3125 54.390625 \r\n",
       "Q 45.3125 60.0625 41.71875 63.234375 \r\n",
       "Q 38.140625 66.40625 31.78125 66.40625 \r\n",
       "Q 25.390625 66.40625 21.84375 63.234375 \r\n",
       "Q 18.3125 60.0625 18.3125 54.390625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-56\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-56\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_5\">\r\n",
       "     <g id=\"line2d_9\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 225.403125 143.1 \r\n",
       "L 225.403125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_10\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#m812f3b0043\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_5\">\r\n",
       "      <!-- 10 -->\r\n",
       "      <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 12.40625 8.296875 \r\n",
       "L 28.515625 8.296875 \r\n",
       "L 28.515625 63.921875 \r\n",
       "L 10.984375 60.40625 \r\n",
       "L 10.984375 69.390625 \r\n",
       "L 28.421875 72.90625 \r\n",
       "L 38.28125 72.90625 \r\n",
       "L 38.28125 8.296875 \r\n",
       "L 54.390625 8.296875 \r\n",
       "L 54.390625 0 \r\n",
       "L 12.40625 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-49\"/>\r\n",
       "        <path d=\"M 31.78125 66.40625 \r\n",
       "Q 24.171875 66.40625 20.328125 58.90625 \r\n",
       "Q 16.5 51.421875 16.5 36.375 \r\n",
       "Q 16.5 21.390625 20.328125 13.890625 \r\n",
       "Q 24.171875 6.390625 31.78125 6.390625 \r\n",
       "Q 39.453125 6.390625 43.28125 13.890625 \r\n",
       "Q 47.125 21.390625 47.125 36.375 \r\n",
       "Q 47.125 51.421875 43.28125 58.90625 \r\n",
       "Q 39.453125 66.40625 31.78125 66.40625 \r\n",
       "z\r\n",
       "M 31.78125 74.21875 \r\n",
       "Q 44.046875 74.21875 50.515625 64.515625 \r\n",
       "Q 56.984375 54.828125 56.984375 36.375 \r\n",
       "Q 56.984375 17.96875 50.515625 8.265625 \r\n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \r\n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \r\n",
       "Q 6.59375 17.96875 6.59375 36.375 \r\n",
       "Q 6.59375 54.828125 13.0625 64.515625 \r\n",
       "Q 19.53125 74.21875 31.78125 74.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-48\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"text_6\">\r\n",
       "     <!-- epoch -->\r\n",
       "     <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 56.203125 29.59375 \r\n",
       "L 56.203125 25.203125 \r\n",
       "L 14.890625 25.203125 \r\n",
       "Q 15.484375 15.921875 20.484375 11.0625 \r\n",
       "Q 25.484375 6.203125 34.421875 6.203125 \r\n",
       "Q 39.59375 6.203125 44.453125 7.46875 \r\n",
       "Q 49.3125 8.734375 54.109375 11.28125 \r\n",
       "L 54.109375 2.78125 \r\n",
       "Q 49.265625 0.734375 44.1875 -0.34375 \r\n",
       "Q 39.109375 -1.421875 33.890625 -1.421875 \r\n",
       "Q 20.796875 -1.421875 13.15625 6.1875 \r\n",
       "Q 5.515625 13.8125 5.515625 26.8125 \r\n",
       "Q 5.515625 40.234375 12.765625 48.109375 \r\n",
       "Q 20.015625 56 32.328125 56 \r\n",
       "Q 43.359375 56 49.78125 48.890625 \r\n",
       "Q 56.203125 41.796875 56.203125 29.59375 \r\n",
       "z\r\n",
       "M 47.21875 32.234375 \r\n",
       "Q 47.125 39.59375 43.09375 43.984375 \r\n",
       "Q 39.0625 48.390625 32.421875 48.390625 \r\n",
       "Q 24.90625 48.390625 20.390625 44.140625 \r\n",
       "Q 15.875 39.890625 15.1875 32.171875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-101\"/>\r\n",
       "       <path d=\"M 18.109375 8.203125 \r\n",
       "L 18.109375 -20.796875 \r\n",
       "L 9.078125 -20.796875 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.390625 \r\n",
       "Q 20.953125 51.265625 25.265625 53.625 \r\n",
       "Q 29.59375 56 35.59375 56 \r\n",
       "Q 45.5625 56 51.78125 48.09375 \r\n",
       "Q 58.015625 40.1875 58.015625 27.296875 \r\n",
       "Q 58.015625 14.40625 51.78125 6.484375 \r\n",
       "Q 45.5625 -1.421875 35.59375 -1.421875 \r\n",
       "Q 29.59375 -1.421875 25.265625 0.953125 \r\n",
       "Q 20.953125 3.328125 18.109375 8.203125 \r\n",
       "z\r\n",
       "M 48.6875 27.296875 \r\n",
       "Q 48.6875 37.203125 44.609375 42.84375 \r\n",
       "Q 40.53125 48.484375 33.40625 48.484375 \r\n",
       "Q 26.265625 48.484375 22.1875 42.84375 \r\n",
       "Q 18.109375 37.203125 18.109375 27.296875 \r\n",
       "Q 18.109375 17.390625 22.1875 11.75 \r\n",
       "Q 26.265625 6.109375 33.40625 6.109375 \r\n",
       "Q 40.53125 6.109375 44.609375 11.75 \r\n",
       "Q 48.6875 17.390625 48.6875 27.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-112\"/>\r\n",
       "       <path d=\"M 30.609375 48.390625 \r\n",
       "Q 23.390625 48.390625 19.1875 42.75 \r\n",
       "Q 14.984375 37.109375 14.984375 27.296875 \r\n",
       "Q 14.984375 17.484375 19.15625 11.84375 \r\n",
       "Q 23.34375 6.203125 30.609375 6.203125 \r\n",
       "Q 37.796875 6.203125 41.984375 11.859375 \r\n",
       "Q 46.1875 17.53125 46.1875 27.296875 \r\n",
       "Q 46.1875 37.015625 41.984375 42.703125 \r\n",
       "Q 37.796875 48.390625 30.609375 48.390625 \r\n",
       "z\r\n",
       "M 30.609375 56 \r\n",
       "Q 42.328125 56 49.015625 48.375 \r\n",
       "Q 55.71875 40.765625 55.71875 27.296875 \r\n",
       "Q 55.71875 13.875 49.015625 6.21875 \r\n",
       "Q 42.328125 -1.421875 30.609375 -1.421875 \r\n",
       "Q 18.84375 -1.421875 12.171875 6.21875 \r\n",
       "Q 5.515625 13.875 5.515625 27.296875 \r\n",
       "Q 5.515625 40.765625 12.171875 48.375 \r\n",
       "Q 18.84375 56 30.609375 56 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-111\"/>\r\n",
       "       <path d=\"M 48.78125 52.59375 \r\n",
       "L 48.78125 44.1875 \r\n",
       "Q 44.96875 46.296875 41.140625 47.34375 \r\n",
       "Q 37.3125 48.390625 33.40625 48.390625 \r\n",
       "Q 24.65625 48.390625 19.8125 42.84375 \r\n",
       "Q 14.984375 37.3125 14.984375 27.296875 \r\n",
       "Q 14.984375 17.28125 19.8125 11.734375 \r\n",
       "Q 24.65625 6.203125 33.40625 6.203125 \r\n",
       "Q 37.3125 6.203125 41.140625 7.25 \r\n",
       "Q 44.96875 8.296875 48.78125 10.40625 \r\n",
       "L 48.78125 2.09375 \r\n",
       "Q 45.015625 0.34375 40.984375 -0.53125 \r\n",
       "Q 36.96875 -1.421875 32.421875 -1.421875 \r\n",
       "Q 20.0625 -1.421875 12.78125 6.34375 \r\n",
       "Q 5.515625 14.109375 5.515625 27.296875 \r\n",
       "Q 5.515625 40.671875 12.859375 48.328125 \r\n",
       "Q 20.21875 56 33.015625 56 \r\n",
       "Q 37.15625 56 41.109375 55.140625 \r\n",
       "Q 45.0625 54.296875 48.78125 52.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-99\"/>\r\n",
       "       <path d=\"M 54.890625 33.015625 \r\n",
       "L 54.890625 0 \r\n",
       "L 45.90625 0 \r\n",
       "L 45.90625 32.71875 \r\n",
       "Q 45.90625 40.484375 42.875 44.328125 \r\n",
       "Q 39.84375 48.1875 33.796875 48.1875 \r\n",
       "Q 26.515625 48.1875 22.3125 43.546875 \r\n",
       "Q 18.109375 38.921875 18.109375 30.90625 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 75.984375 \r\n",
       "L 18.109375 75.984375 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 21.34375 51.125 25.703125 53.5625 \r\n",
       "Q 30.078125 56 35.796875 56 \r\n",
       "Q 45.21875 56 50.046875 50.171875 \r\n",
       "Q 54.890625 44.34375 54.890625 33.015625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-104\"/>\r\n",
       "      </defs>\r\n",
       "      <use xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\r\n",
       "      <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "      <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "      <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_2\">\r\n",
       "    <g id=\"ytick_1\">\r\n",
       "     <g id=\"line2d_11\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 30.103125 120.45 \r\n",
       "L 225.403125 120.45 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_12\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L -3.5 0 \r\n",
       "\" id=\"mce2efabd42\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mce2efabd42\" y=\"120.45\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_7\">\r\n",
       "      <!-- 0.4 -->\r\n",
       "      <g transform=\"translate(7.2 124.249219)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 10.6875 12.40625 \r\n",
       "L 21 12.40625 \r\n",
       "L 21 0 \r\n",
       "L 10.6875 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-46\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_2\">\r\n",
       "     <g id=\"line2d_13\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 30.103125 75.15 \r\n",
       "L 225.403125 75.15 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_14\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mce2efabd42\" y=\"75.15\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_8\">\r\n",
       "      <!-- 0.6 -->\r\n",
       "      <g transform=\"translate(7.2 78.949219)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_3\">\r\n",
       "     <g id=\"line2d_15\">\r\n",
       "      <path clip-path=\"url(#p95857f6891)\" d=\"M 30.103125 29.85 \r\n",
       "L 225.403125 29.85 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_16\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mce2efabd42\" y=\"29.85\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_9\">\r\n",
       "      <!-- 0.8 -->\r\n",
       "      <g transform=\"translate(7.2 33.649219)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_17\">\r\n",
       "    <path clip-path=\"url(#p95857f6891)\" d=\"M 35.412538 -1 \r\n",
       "L 51.803125 76.145949 \r\n",
       "L 73.503125 94.040666 \r\n",
       "L 95.203125 102.767826 \r\n",
       "L 116.903125 108.446375 \r\n",
       "L 138.603125 112.498229 \r\n",
       "L 160.303125 116.61948 \r\n",
       "L 182.003125 119.018353 \r\n",
       "L 203.703125 122.243514 \r\n",
       "L 225.403125 124.001537 \r\n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_18\">\r\n",
       "    <path clip-path=\"url(#p95857f6891)\" d=\"M 30.103125 64.882 \r\n",
       "L 51.803125 31.552525 \r\n",
       "L 73.503125 25.248275 \r\n",
       "L 95.203125 22.62465 \r\n",
       "L 116.903125 20.5484 \r\n",
       "L 138.603125 19.336625 \r\n",
       "L 160.303125 18.03425 \r\n",
       "L 182.003125 17.00745 \r\n",
       "L 203.703125 15.9882 \r\n",
       "L 225.403125 15.69375 \r\n",
       "\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_19\">\r\n",
       "    <path clip-path=\"url(#p95857f6891)\" d=\"M 30.103125 39.02325 \r\n",
       "L 51.803125 31.91115 \r\n",
       "L 73.503125 28.64955 \r\n",
       "L 95.203125 43.2135 \r\n",
       "L 116.903125 22.98705 \r\n",
       "L 138.603125 28.15125 \r\n",
       "L 160.303125 20.5635 \r\n",
       "L 182.003125 20.4729 \r\n",
       "L 203.703125 19.63485 \r\n",
       "L 225.403125 21.5148 \r\n",
       "\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_3\">\r\n",
       "    <path d=\"M 30.103125 143.1 \r\n",
       "L 30.103125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_4\">\r\n",
       "    <path d=\"M 225.403125 143.1 \r\n",
       "L 225.403125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_5\">\r\n",
       "    <path d=\"M 30.103125 143.1 \r\n",
       "L 225.403125 143.1 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_6\">\r\n",
       "    <path d=\"M 30.103125 7.2 \r\n",
       "L 225.403125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"legend_1\">\r\n",
       "    <g id=\"patch_7\">\r\n",
       "     <path d=\"M 140.634375 98.667187 \r\n",
       "L 218.403125 98.667187 \r\n",
       "Q 220.403125 98.667187 220.403125 96.667187 \r\n",
       "L 220.403125 53.632812 \r\n",
       "Q 220.403125 51.632812 218.403125 51.632812 \r\n",
       "L 140.634375 51.632812 \r\n",
       "Q 138.634375 51.632812 138.634375 53.632812 \r\n",
       "L 138.634375 96.667187 \r\n",
       "Q 138.634375 98.667187 140.634375 98.667187 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_20\">\r\n",
       "     <path d=\"M 142.634375 59.73125 \r\n",
       "L 162.634375 59.73125 \r\n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_21\"/>\r\n",
       "    <g id=\"text_10\">\r\n",
       "     <!-- train loss -->\r\n",
       "     <g transform=\"translate(170.634375 63.23125)scale(0.1 -0.1)\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 18.3125 70.21875 \r\n",
       "L 18.3125 54.6875 \r\n",
       "L 36.8125 54.6875 \r\n",
       "L 36.8125 47.703125 \r\n",
       "L 18.3125 47.703125 \r\n",
       "L 18.3125 18.015625 \r\n",
       "Q 18.3125 11.328125 20.140625 9.421875 \r\n",
       "Q 21.96875 7.515625 27.59375 7.515625 \r\n",
       "L 36.8125 7.515625 \r\n",
       "L 36.8125 0 \r\n",
       "L 27.59375 0 \r\n",
       "Q 17.1875 0 13.234375 3.875 \r\n",
       "Q 9.28125 7.765625 9.28125 18.015625 \r\n",
       "L 9.28125 47.703125 \r\n",
       "L 2.6875 47.703125 \r\n",
       "L 2.6875 54.6875 \r\n",
       "L 9.28125 54.6875 \r\n",
       "L 9.28125 70.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-116\"/>\r\n",
       "       <path d=\"M 41.109375 46.296875 \r\n",
       "Q 39.59375 47.171875 37.8125 47.578125 \r\n",
       "Q 36.03125 48 33.890625 48 \r\n",
       "Q 26.265625 48 22.1875 43.046875 \r\n",
       "Q 18.109375 38.09375 18.109375 28.8125 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 20.953125 51.171875 25.484375 53.578125 \r\n",
       "Q 30.03125 56 36.53125 56 \r\n",
       "Q 37.453125 56 38.578125 55.875 \r\n",
       "Q 39.703125 55.765625 41.0625 55.515625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-114\"/>\r\n",
       "       <path d=\"M 34.28125 27.484375 \r\n",
       "Q 23.390625 27.484375 19.1875 25 \r\n",
       "Q 14.984375 22.515625 14.984375 16.5 \r\n",
       "Q 14.984375 11.71875 18.140625 8.90625 \r\n",
       "Q 21.296875 6.109375 26.703125 6.109375 \r\n",
       "Q 34.1875 6.109375 38.703125 11.40625 \r\n",
       "Q 43.21875 16.703125 43.21875 25.484375 \r\n",
       "L 43.21875 27.484375 \r\n",
       "z\r\n",
       "M 52.203125 31.203125 \r\n",
       "L 52.203125 0 \r\n",
       "L 43.21875 0 \r\n",
       "L 43.21875 8.296875 \r\n",
       "Q 40.140625 3.328125 35.546875 0.953125 \r\n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \r\n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \r\n",
       "Q 6 8.015625 6 15.921875 \r\n",
       "Q 6 25.140625 12.171875 29.828125 \r\n",
       "Q 18.359375 34.515625 30.609375 34.515625 \r\n",
       "L 43.21875 34.515625 \r\n",
       "L 43.21875 35.40625 \r\n",
       "Q 43.21875 41.609375 39.140625 45 \r\n",
       "Q 35.0625 48.390625 27.6875 48.390625 \r\n",
       "Q 23 48.390625 18.546875 47.265625 \r\n",
       "Q 14.109375 46.140625 10.015625 43.890625 \r\n",
       "L 10.015625 52.203125 \r\n",
       "Q 14.9375 54.109375 19.578125 55.046875 \r\n",
       "Q 24.21875 56 28.609375 56 \r\n",
       "Q 40.484375 56 46.34375 49.84375 \r\n",
       "Q 52.203125 43.703125 52.203125 31.203125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-97\"/>\r\n",
       "       <path d=\"M 9.421875 54.6875 \r\n",
       "L 18.40625 54.6875 \r\n",
       "L 18.40625 0 \r\n",
       "L 9.421875 0 \r\n",
       "z\r\n",
       "M 9.421875 75.984375 \r\n",
       "L 18.40625 75.984375 \r\n",
       "L 18.40625 64.59375 \r\n",
       "L 9.421875 64.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-105\"/>\r\n",
       "       <path d=\"M 54.890625 33.015625 \r\n",
       "L 54.890625 0 \r\n",
       "L 45.90625 0 \r\n",
       "L 45.90625 32.71875 \r\n",
       "Q 45.90625 40.484375 42.875 44.328125 \r\n",
       "Q 39.84375 48.1875 33.796875 48.1875 \r\n",
       "Q 26.515625 48.1875 22.3125 43.546875 \r\n",
       "Q 18.109375 38.921875 18.109375 30.90625 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 21.34375 51.125 25.703125 53.5625 \r\n",
       "Q 30.078125 56 35.796875 56 \r\n",
       "Q 45.21875 56 50.046875 50.171875 \r\n",
       "Q 54.890625 44.34375 54.890625 33.015625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-110\"/>\r\n",
       "       <path id=\"DejaVuSans-32\"/>\r\n",
       "       <path d=\"M 9.421875 75.984375 \r\n",
       "L 18.40625 75.984375 \r\n",
       "L 18.40625 0 \r\n",
       "L 9.421875 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-108\"/>\r\n",
       "       <path d=\"M 44.28125 53.078125 \r\n",
       "L 44.28125 44.578125 \r\n",
       "Q 40.484375 46.53125 36.375 47.5 \r\n",
       "Q 32.28125 48.484375 27.875 48.484375 \r\n",
       "Q 21.1875 48.484375 17.84375 46.4375 \r\n",
       "Q 14.5 44.390625 14.5 40.28125 \r\n",
       "Q 14.5 37.15625 16.890625 35.375 \r\n",
       "Q 19.28125 33.59375 26.515625 31.984375 \r\n",
       "L 29.59375 31.296875 \r\n",
       "Q 39.15625 29.25 43.1875 25.515625 \r\n",
       "Q 47.21875 21.78125 47.21875 15.09375 \r\n",
       "Q 47.21875 7.46875 41.1875 3.015625 \r\n",
       "Q 35.15625 -1.421875 24.609375 -1.421875 \r\n",
       "Q 20.21875 -1.421875 15.453125 -0.5625 \r\n",
       "Q 10.6875 0.296875 5.421875 2 \r\n",
       "L 5.421875 11.28125 \r\n",
       "Q 10.40625 8.6875 15.234375 7.390625 \r\n",
       "Q 20.0625 6.109375 24.8125 6.109375 \r\n",
       "Q 31.15625 6.109375 34.5625 8.28125 \r\n",
       "Q 37.984375 10.453125 37.984375 14.40625 \r\n",
       "Q 37.984375 18.0625 35.515625 20.015625 \r\n",
       "Q 33.0625 21.96875 24.703125 23.78125 \r\n",
       "L 21.578125 24.515625 \r\n",
       "Q 13.234375 26.265625 9.515625 29.90625 \r\n",
       "Q 5.8125 33.546875 5.8125 39.890625 \r\n",
       "Q 5.8125 47.609375 11.28125 51.796875 \r\n",
       "Q 16.75 56 26.8125 56 \r\n",
       "Q 31.78125 56 36.171875 55.265625 \r\n",
       "Q 40.578125 54.546875 44.28125 53.078125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-115\"/>\r\n",
       "      </defs>\r\n",
       "      <use xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "      <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\r\n",
       "      <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\r\n",
       "      <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "      <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "      <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_22\">\r\n",
       "     <path d=\"M 142.634375 74.409375 \r\n",
       "L 162.634375 74.409375 \r\n",
       "\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_23\"/>\r\n",
       "    <g id=\"text_11\">\r\n",
       "     <!-- train acc -->\r\n",
       "     <g transform=\"translate(170.634375 77.909375)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "      <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\r\n",
       "      <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "      <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_24\">\r\n",
       "     <path d=\"M 142.634375 89.0875 \r\n",
       "L 162.634375 89.0875 \r\n",
       "\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_25\"/>\r\n",
       "    <g id=\"text_12\">\r\n",
       "     <!-- test acc -->\r\n",
       "     <g transform=\"translate(170.634375 92.5875)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "      <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "      <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       " </g>\r\n",
       " <defs>\r\n",
       "  <clipPath id=\"p95857f6891\">\r\n",
       "   <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\r\n",
       "  </clipPath>\r\n",
       " </defs>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<Figure size 252x180 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "batch_size, lr, num_epochs = 256, 0.1, 10\n",
    "loss = nn.CrossEntropyLoss(reduction='none')\n",
    "trainer = torch.optim.SGD(net.parameters(), lr=lr)\n",
    "\n",
    "train_iter, test_iter = load_data_fashion_mnist(batch_size)\n",
    "train(net, train_iter, test_iter, loss, num_epochs, trainer)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4607583a",
   "metadata": {},
   "source": [
    "### CNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "125eac8f",
   "metadata": {},
   "outputs": [],
   "source": [
    "net = nn.Sequential(\n",
    "    nn.Conv2d(1,64,kernel_size=3, stride=1, padding=1),\n",
    "    nn.Conv2d(64,64,kernel_size=3, stride=1, padding=1),\n",
    "    nn.MaxPool2d(2, 2),\n",
    "    nn.BatchNorm2d(64),\n",
    "    nn.Conv2d(64,128,3,padding=1),\n",
    "    nn.Conv2d(128, 128, 3,padding=1),\n",
    "    nn.MaxPool2d(2, 2, padding=1),\n",
    "    nn.BatchNorm2d(128),\n",
    "    nn.Flatten(),\n",
    "    nn.Linear(128*8*8,512),\n",
    "    nn.ReLU(),\n",
    "    nn.Dropout2d(p=0.3),\n",
    "    nn.Linear(512,128),\n",
    "    nn.ReLU(),\n",
    "    nn.Dropout2d(p=0.3),\n",
    "    nn.Linear(128,10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b68098fb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Conv2d output shape:\t torch.Size([1, 64, 28, 28])\n",
      "Conv2d output shape:\t torch.Size([1, 64, 28, 28])\n",
      "MaxPool2d output shape:\t torch.Size([1, 64, 14, 14])\n",
      "BatchNorm2d output shape:\t torch.Size([1, 64, 14, 14])\n",
      "Conv2d output shape:\t torch.Size([1, 128, 14, 14])\n",
      "Conv2d output shape:\t torch.Size([1, 128, 14, 14])\n",
      "MaxPool2d output shape:\t torch.Size([1, 128, 8, 8])\n",
      "BatchNorm2d output shape:\t torch.Size([1, 128, 8, 8])\n",
      "Flatten output shape:\t torch.Size([1, 8192])\n",
      "Linear output shape:\t torch.Size([1, 512])\n",
      "ReLU output shape:\t torch.Size([1, 512])\n",
      "Dropout2d output shape:\t torch.Size([1, 512])\n",
      "Linear output shape:\t torch.Size([1, 128])\n",
      "ReLU output shape:\t torch.Size([1, 128])\n",
      "Dropout2d output shape:\t torch.Size([1, 128])\n",
      "Linear output shape:\t torch.Size([1, 10])\n"
     ]
    }
   ],
   "source": [
    "# 检查网络形状\n",
    "X = torch.randn(1, 1, 28,28)\n",
    "for layer in net:\n",
    "    X=layer(X)\n",
    "    print(layer.__class__.__name__,'output shape:\\t',X.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "7e2300c1",
   "metadata": {},
   "outputs": [],
   "source": [
    "def evaluate_accuracy_gpu(net, data_iter, device=None): #@save\n",
    "    \"\"\"使⽤GPU计算模型在数据集上的精度\"\"\"\n",
    "    if isinstance(net, nn.Module):\n",
    "        net.eval() # 设置为评估模式\n",
    "        if not device:\n",
    "            device = next(iter(net.parameters())).device\n",
    "    # 正确预测的数量，总预测的数量\n",
    "    metric = d2l.Accumulator(2)\n",
    "    with torch.no_grad():\n",
    "        for X, y in data_iter:\n",
    "            if isinstance(X, list):\n",
    "                # BERT微调所需的\n",
    "                X = [x.to(device) for x in X]\n",
    "            else:\n",
    "                X = X.to(device)\n",
    "            y = y.to(device)\n",
    "            metric.add(d2l.accuracy(net(X), y), y.numel())\n",
    "    return metric[0] / metric[1]\n",
    "\n",
    "def try_gpu(i=0): #@save\n",
    "    \"\"\"如果存在，则返回gpu(i)，否则返回cpu()\"\"\"\n",
    "    if torch.cuda.device_count() >= i + 1:\n",
    "        return torch.device(f'cuda:{i}')\n",
    "    return torch.device('cpu')\n",
    "\n",
    "def train_ch2(net, train_iter, test_iter, num_epochs, lr, device): #@save\n",
    "    \"\"\"⽤GPU训练模型\"\"\"\n",
    "    def init_weights(m):\n",
    "        if type(m) == nn.Linear or type(m) == nn.Conv2d:\n",
    "            nn.init.xavier_uniform_(m.weight)\n",
    "            \n",
    "    net.apply(init_weights)\n",
    "    print('training on', device)\n",
    "    net.to(device)\n",
    "    optimizer = torch.optim.SGD(net.parameters(), lr=lr)\n",
    "    loss = nn.CrossEntropyLoss()\n",
    "    animator = d2l.Animator(xlabel='epoch', xlim=[1, num_epochs],legend=['train loss', 'train acc', 'test acc'])\n",
    "    timer, num_batches = d2l.Timer(), len(train_iter)\n",
    "    for epoch in range(num_epochs):\n",
    "        # 训练损失之和，训练准确率之和，样本数\n",
    "        metric = d2l.Accumulator(3)\n",
    "        net.train()\n",
    "        for i, (X, y) in enumerate(train_iter):\n",
    "            timer.start()\n",
    "            optimizer.zero_grad()\n",
    "            X, y = X.to(device), y.to(device)\n",
    "            y_hat = net(X)\n",
    "            l = loss(y_hat, y)\n",
    "            l.backward()\n",
    "            optimizer.step()\n",
    "            with torch.no_grad():\n",
    "                metric.add(l * X.shape[0], d2l.accuracy(y_hat, y), X.shape[0])\n",
    "            timer.stop()\n",
    "            train_l = metric[0] / metric[2]\n",
    "            train_acc = metric[1] / metric[2]\n",
    "            if (i + 1) % (num_batches // 5) == 0 or i == num_batches - 1:\n",
    "                animator.add(epoch + (i + 1) / num_batches,(train_l, train_acc, None))\n",
    "        test_acc = evaluate_accuracy_gpu(net, test_iter)\n",
    "        animator.add(epoch + 1, (None, None, test_acc))\n",
    "    print(f'loss {train_l:.3f}, train acc {train_acc:.3f}, ' f'test acc {test_acc:.3f}')\n",
    "    print(f'{metric[2] * num_epochs / timer.sum():.1f} examples/sec ' f'on {str(device)}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "fa5c5fbe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loss 0.218, train acc 0.921, test acc 0.910\n",
      "4189.3 examples/sec on cuda:0\n"
     ]
    },
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n",
       "<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       " <metadata>\r\n",
       "  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n",
       "   <cc:Work>\r\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n",
       "    <dc:date>2022-02-19T20:17:07.223169</dc:date>\r\n",
       "    <dc:format>image/svg+xml</dc:format>\r\n",
       "    <dc:creator>\r\n",
       "     <cc:Agent>\r\n",
       "      <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n",
       "     </cc:Agent>\r\n",
       "    </dc:creator>\r\n",
       "   </cc:Work>\r\n",
       "  </rdf:RDF>\r\n",
       " </metadata>\r\n",
       " <defs>\r\n",
       "  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n",
       " </defs>\r\n",
       " <g id=\"figure_1\">\r\n",
       "  <g id=\"patch_1\">\r\n",
       "   <path d=\"M 0 180.65625 \r\n",
       "L 238.965625 180.65625 \r\n",
       "L 238.965625 0 \r\n",
       "L 0 0 \r\n",
       "z\r\n",
       "\" style=\"fill:none;\"/>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_1\">\r\n",
       "   <g id=\"patch_2\">\r\n",
       "    <path d=\"M 30.103125 143.1 \r\n",
       "L 225.403125 143.1 \r\n",
       "L 225.403125 7.2 \r\n",
       "L 30.103125 7.2 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_1\">\r\n",
       "    <g id=\"xtick_1\">\r\n",
       "     <g id=\"line2d_1\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 51.803125 143.1 \r\n",
       "L 51.803125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_2\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L 0 3.5 \r\n",
       "\" id=\"m35a965e485\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#m35a965e485\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_1\">\r\n",
       "      <!-- 2 -->\r\n",
       "      <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 19.1875 8.296875 \r\n",
       "L 53.609375 8.296875 \r\n",
       "L 53.609375 0 \r\n",
       "L 7.328125 0 \r\n",
       "L 7.328125 8.296875 \r\n",
       "Q 12.9375 14.109375 22.625 23.890625 \r\n",
       "Q 32.328125 33.6875 34.8125 36.53125 \r\n",
       "Q 39.546875 41.84375 41.421875 45.53125 \r\n",
       "Q 43.3125 49.21875 43.3125 52.78125 \r\n",
       "Q 43.3125 58.59375 39.234375 62.25 \r\n",
       "Q 35.15625 65.921875 28.609375 65.921875 \r\n",
       "Q 23.96875 65.921875 18.8125 64.3125 \r\n",
       "Q 13.671875 62.703125 7.8125 59.421875 \r\n",
       "L 7.8125 69.390625 \r\n",
       "Q 13.765625 71.78125 18.9375 73 \r\n",
       "Q 24.125 74.21875 28.421875 74.21875 \r\n",
       "Q 39.75 74.21875 46.484375 68.546875 \r\n",
       "Q 53.21875 62.890625 53.21875 53.421875 \r\n",
       "Q 53.21875 48.921875 51.53125 44.890625 \r\n",
       "Q 49.859375 40.875 45.40625 35.40625 \r\n",
       "Q 44.1875 33.984375 37.640625 27.21875 \r\n",
       "Q 31.109375 20.453125 19.1875 8.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-50\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-50\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_2\">\r\n",
       "     <g id=\"line2d_3\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 95.203125 143.1 \r\n",
       "L 95.203125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_4\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#m35a965e485\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_2\">\r\n",
       "      <!-- 4 -->\r\n",
       "      <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 37.796875 64.3125 \r\n",
       "L 12.890625 25.390625 \r\n",
       "L 37.796875 25.390625 \r\n",
       "z\r\n",
       "M 35.203125 72.90625 \r\n",
       "L 47.609375 72.90625 \r\n",
       "L 47.609375 25.390625 \r\n",
       "L 58.015625 25.390625 \r\n",
       "L 58.015625 17.1875 \r\n",
       "L 47.609375 17.1875 \r\n",
       "L 47.609375 0 \r\n",
       "L 37.796875 0 \r\n",
       "L 37.796875 17.1875 \r\n",
       "L 4.890625 17.1875 \r\n",
       "L 4.890625 26.703125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-52\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-52\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_3\">\r\n",
       "     <g id=\"line2d_5\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 138.603125 143.1 \r\n",
       "L 138.603125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_6\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#m35a965e485\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_3\">\r\n",
       "      <!-- 6 -->\r\n",
       "      <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 33.015625 40.375 \r\n",
       "Q 26.375 40.375 22.484375 35.828125 \r\n",
       "Q 18.609375 31.296875 18.609375 23.390625 \r\n",
       "Q 18.609375 15.53125 22.484375 10.953125 \r\n",
       "Q 26.375 6.390625 33.015625 6.390625 \r\n",
       "Q 39.65625 6.390625 43.53125 10.953125 \r\n",
       "Q 47.40625 15.53125 47.40625 23.390625 \r\n",
       "Q 47.40625 31.296875 43.53125 35.828125 \r\n",
       "Q 39.65625 40.375 33.015625 40.375 \r\n",
       "z\r\n",
       "M 52.59375 71.296875 \r\n",
       "L 52.59375 62.3125 \r\n",
       "Q 48.875 64.0625 45.09375 64.984375 \r\n",
       "Q 41.3125 65.921875 37.59375 65.921875 \r\n",
       "Q 27.828125 65.921875 22.671875 59.328125 \r\n",
       "Q 17.53125 52.734375 16.796875 39.40625 \r\n",
       "Q 19.671875 43.65625 24.015625 45.921875 \r\n",
       "Q 28.375 48.1875 33.59375 48.1875 \r\n",
       "Q 44.578125 48.1875 50.953125 41.515625 \r\n",
       "Q 57.328125 34.859375 57.328125 23.390625 \r\n",
       "Q 57.328125 12.15625 50.6875 5.359375 \r\n",
       "Q 44.046875 -1.421875 33.015625 -1.421875 \r\n",
       "Q 20.359375 -1.421875 13.671875 8.265625 \r\n",
       "Q 6.984375 17.96875 6.984375 36.375 \r\n",
       "Q 6.984375 53.65625 15.1875 63.9375 \r\n",
       "Q 23.390625 74.21875 37.203125 74.21875 \r\n",
       "Q 40.921875 74.21875 44.703125 73.484375 \r\n",
       "Q 48.484375 72.75 52.59375 71.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-54\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-54\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_4\">\r\n",
       "     <g id=\"line2d_7\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 182.003125 143.1 \r\n",
       "L 182.003125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_8\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#m35a965e485\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_4\">\r\n",
       "      <!-- 8 -->\r\n",
       "      <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 31.78125 34.625 \r\n",
       "Q 24.75 34.625 20.71875 30.859375 \r\n",
       "Q 16.703125 27.09375 16.703125 20.515625 \r\n",
       "Q 16.703125 13.921875 20.71875 10.15625 \r\n",
       "Q 24.75 6.390625 31.78125 6.390625 \r\n",
       "Q 38.8125 6.390625 42.859375 10.171875 \r\n",
       "Q 46.921875 13.96875 46.921875 20.515625 \r\n",
       "Q 46.921875 27.09375 42.890625 30.859375 \r\n",
       "Q 38.875 34.625 31.78125 34.625 \r\n",
       "z\r\n",
       "M 21.921875 38.8125 \r\n",
       "Q 15.578125 40.375 12.03125 44.71875 \r\n",
       "Q 8.5 49.078125 8.5 55.328125 \r\n",
       "Q 8.5 64.0625 14.71875 69.140625 \r\n",
       "Q 20.953125 74.21875 31.78125 74.21875 \r\n",
       "Q 42.671875 74.21875 48.875 69.140625 \r\n",
       "Q 55.078125 64.0625 55.078125 55.328125 \r\n",
       "Q 55.078125 49.078125 51.53125 44.71875 \r\n",
       "Q 48 40.375 41.703125 38.8125 \r\n",
       "Q 48.828125 37.15625 52.796875 32.3125 \r\n",
       "Q 56.78125 27.484375 56.78125 20.515625 \r\n",
       "Q 56.78125 9.90625 50.3125 4.234375 \r\n",
       "Q 43.84375 -1.421875 31.78125 -1.421875 \r\n",
       "Q 19.734375 -1.421875 13.25 4.234375 \r\n",
       "Q 6.78125 9.90625 6.78125 20.515625 \r\n",
       "Q 6.78125 27.484375 10.78125 32.3125 \r\n",
       "Q 14.796875 37.15625 21.921875 38.8125 \r\n",
       "z\r\n",
       "M 18.3125 54.390625 \r\n",
       "Q 18.3125 48.734375 21.84375 45.5625 \r\n",
       "Q 25.390625 42.390625 31.78125 42.390625 \r\n",
       "Q 38.140625 42.390625 41.71875 45.5625 \r\n",
       "Q 45.3125 48.734375 45.3125 54.390625 \r\n",
       "Q 45.3125 60.0625 41.71875 63.234375 \r\n",
       "Q 38.140625 66.40625 31.78125 66.40625 \r\n",
       "Q 25.390625 66.40625 21.84375 63.234375 \r\n",
       "Q 18.3125 60.0625 18.3125 54.390625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-56\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-56\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_5\">\r\n",
       "     <g id=\"line2d_9\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 225.403125 143.1 \r\n",
       "L 225.403125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_10\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#m35a965e485\" y=\"143.1\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_5\">\r\n",
       "      <!-- 10 -->\r\n",
       "      <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 12.40625 8.296875 \r\n",
       "L 28.515625 8.296875 \r\n",
       "L 28.515625 63.921875 \r\n",
       "L 10.984375 60.40625 \r\n",
       "L 10.984375 69.390625 \r\n",
       "L 28.421875 72.90625 \r\n",
       "L 38.28125 72.90625 \r\n",
       "L 38.28125 8.296875 \r\n",
       "L 54.390625 8.296875 \r\n",
       "L 54.390625 0 \r\n",
       "L 12.40625 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-49\"/>\r\n",
       "        <path d=\"M 31.78125 66.40625 \r\n",
       "Q 24.171875 66.40625 20.328125 58.90625 \r\n",
       "Q 16.5 51.421875 16.5 36.375 \r\n",
       "Q 16.5 21.390625 20.328125 13.890625 \r\n",
       "Q 24.171875 6.390625 31.78125 6.390625 \r\n",
       "Q 39.453125 6.390625 43.28125 13.890625 \r\n",
       "Q 47.125 21.390625 47.125 36.375 \r\n",
       "Q 47.125 51.421875 43.28125 58.90625 \r\n",
       "Q 39.453125 66.40625 31.78125 66.40625 \r\n",
       "z\r\n",
       "M 31.78125 74.21875 \r\n",
       "Q 44.046875 74.21875 50.515625 64.515625 \r\n",
       "Q 56.984375 54.828125 56.984375 36.375 \r\n",
       "Q 56.984375 17.96875 50.515625 8.265625 \r\n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \r\n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \r\n",
       "Q 6.59375 17.96875 6.59375 36.375 \r\n",
       "Q 6.59375 54.828125 13.0625 64.515625 \r\n",
       "Q 19.53125 74.21875 31.78125 74.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-48\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-49\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"text_6\">\r\n",
       "     <!-- epoch -->\r\n",
       "     <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 56.203125 29.59375 \r\n",
       "L 56.203125 25.203125 \r\n",
       "L 14.890625 25.203125 \r\n",
       "Q 15.484375 15.921875 20.484375 11.0625 \r\n",
       "Q 25.484375 6.203125 34.421875 6.203125 \r\n",
       "Q 39.59375 6.203125 44.453125 7.46875 \r\n",
       "Q 49.3125 8.734375 54.109375 11.28125 \r\n",
       "L 54.109375 2.78125 \r\n",
       "Q 49.265625 0.734375 44.1875 -0.34375 \r\n",
       "Q 39.109375 -1.421875 33.890625 -1.421875 \r\n",
       "Q 20.796875 -1.421875 13.15625 6.1875 \r\n",
       "Q 5.515625 13.8125 5.515625 26.8125 \r\n",
       "Q 5.515625 40.234375 12.765625 48.109375 \r\n",
       "Q 20.015625 56 32.328125 56 \r\n",
       "Q 43.359375 56 49.78125 48.890625 \r\n",
       "Q 56.203125 41.796875 56.203125 29.59375 \r\n",
       "z\r\n",
       "M 47.21875 32.234375 \r\n",
       "Q 47.125 39.59375 43.09375 43.984375 \r\n",
       "Q 39.0625 48.390625 32.421875 48.390625 \r\n",
       "Q 24.90625 48.390625 20.390625 44.140625 \r\n",
       "Q 15.875 39.890625 15.1875 32.171875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-101\"/>\r\n",
       "       <path d=\"M 18.109375 8.203125 \r\n",
       "L 18.109375 -20.796875 \r\n",
       "L 9.078125 -20.796875 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.390625 \r\n",
       "Q 20.953125 51.265625 25.265625 53.625 \r\n",
       "Q 29.59375 56 35.59375 56 \r\n",
       "Q 45.5625 56 51.78125 48.09375 \r\n",
       "Q 58.015625 40.1875 58.015625 27.296875 \r\n",
       "Q 58.015625 14.40625 51.78125 6.484375 \r\n",
       "Q 45.5625 -1.421875 35.59375 -1.421875 \r\n",
       "Q 29.59375 -1.421875 25.265625 0.953125 \r\n",
       "Q 20.953125 3.328125 18.109375 8.203125 \r\n",
       "z\r\n",
       "M 48.6875 27.296875 \r\n",
       "Q 48.6875 37.203125 44.609375 42.84375 \r\n",
       "Q 40.53125 48.484375 33.40625 48.484375 \r\n",
       "Q 26.265625 48.484375 22.1875 42.84375 \r\n",
       "Q 18.109375 37.203125 18.109375 27.296875 \r\n",
       "Q 18.109375 17.390625 22.1875 11.75 \r\n",
       "Q 26.265625 6.109375 33.40625 6.109375 \r\n",
       "Q 40.53125 6.109375 44.609375 11.75 \r\n",
       "Q 48.6875 17.390625 48.6875 27.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-112\"/>\r\n",
       "       <path d=\"M 30.609375 48.390625 \r\n",
       "Q 23.390625 48.390625 19.1875 42.75 \r\n",
       "Q 14.984375 37.109375 14.984375 27.296875 \r\n",
       "Q 14.984375 17.484375 19.15625 11.84375 \r\n",
       "Q 23.34375 6.203125 30.609375 6.203125 \r\n",
       "Q 37.796875 6.203125 41.984375 11.859375 \r\n",
       "Q 46.1875 17.53125 46.1875 27.296875 \r\n",
       "Q 46.1875 37.015625 41.984375 42.703125 \r\n",
       "Q 37.796875 48.390625 30.609375 48.390625 \r\n",
       "z\r\n",
       "M 30.609375 56 \r\n",
       "Q 42.328125 56 49.015625 48.375 \r\n",
       "Q 55.71875 40.765625 55.71875 27.296875 \r\n",
       "Q 55.71875 13.875 49.015625 6.21875 \r\n",
       "Q 42.328125 -1.421875 30.609375 -1.421875 \r\n",
       "Q 18.84375 -1.421875 12.171875 6.21875 \r\n",
       "Q 5.515625 13.875 5.515625 27.296875 \r\n",
       "Q 5.515625 40.765625 12.171875 48.375 \r\n",
       "Q 18.84375 56 30.609375 56 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-111\"/>\r\n",
       "       <path d=\"M 48.78125 52.59375 \r\n",
       "L 48.78125 44.1875 \r\n",
       "Q 44.96875 46.296875 41.140625 47.34375 \r\n",
       "Q 37.3125 48.390625 33.40625 48.390625 \r\n",
       "Q 24.65625 48.390625 19.8125 42.84375 \r\n",
       "Q 14.984375 37.3125 14.984375 27.296875 \r\n",
       "Q 14.984375 17.28125 19.8125 11.734375 \r\n",
       "Q 24.65625 6.203125 33.40625 6.203125 \r\n",
       "Q 37.3125 6.203125 41.140625 7.25 \r\n",
       "Q 44.96875 8.296875 48.78125 10.40625 \r\n",
       "L 48.78125 2.09375 \r\n",
       "Q 45.015625 0.34375 40.984375 -0.53125 \r\n",
       "Q 36.96875 -1.421875 32.421875 -1.421875 \r\n",
       "Q 20.0625 -1.421875 12.78125 6.34375 \r\n",
       "Q 5.515625 14.109375 5.515625 27.296875 \r\n",
       "Q 5.515625 40.671875 12.859375 48.328125 \r\n",
       "Q 20.21875 56 33.015625 56 \r\n",
       "Q 37.15625 56 41.109375 55.140625 \r\n",
       "Q 45.0625 54.296875 48.78125 52.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-99\"/>\r\n",
       "       <path d=\"M 54.890625 33.015625 \r\n",
       "L 54.890625 0 \r\n",
       "L 45.90625 0 \r\n",
       "L 45.90625 32.71875 \r\n",
       "Q 45.90625 40.484375 42.875 44.328125 \r\n",
       "Q 39.84375 48.1875 33.796875 48.1875 \r\n",
       "Q 26.515625 48.1875 22.3125 43.546875 \r\n",
       "Q 18.109375 38.921875 18.109375 30.90625 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 75.984375 \r\n",
       "L 18.109375 75.984375 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 21.34375 51.125 25.703125 53.5625 \r\n",
       "Q 30.078125 56 35.796875 56 \r\n",
       "Q 45.21875 56 50.046875 50.171875 \r\n",
       "Q 54.890625 44.34375 54.890625 33.015625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-104\"/>\r\n",
       "      </defs>\r\n",
       "      <use xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\r\n",
       "      <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "      <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "      <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_2\">\r\n",
       "    <g id=\"ytick_1\">\r\n",
       "     <g id=\"line2d_11\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 30.103125 139.838921 \r\n",
       "L 225.403125 139.838921 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_12\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L -3.5 0 \r\n",
       "\" id=\"mc6fb1a1a41\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mc6fb1a1a41\" y=\"139.838921\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_7\">\r\n",
       "      <!-- 0.2 -->\r\n",
       "      <g transform=\"translate(7.2 143.63814)scale(0.1 -0.1)\">\r\n",
       "       <defs>\r\n",
       "        <path d=\"M 10.6875 12.40625 \r\n",
       "L 21 12.40625 \r\n",
       "L 21 0 \r\n",
       "L 10.6875 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-46\"/>\r\n",
       "       </defs>\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_2\">\r\n",
       "     <g id=\"line2d_13\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 30.103125 104.786631 \r\n",
       "L 225.403125 104.786631 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_14\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mc6fb1a1a41\" y=\"104.786631\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_8\">\r\n",
       "      <!-- 0.4 -->\r\n",
       "      <g transform=\"translate(7.2 108.58585)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_3\">\r\n",
       "     <g id=\"line2d_15\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 30.103125 69.734341 \r\n",
       "L 225.403125 69.734341 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_16\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mc6fb1a1a41\" y=\"69.734341\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_9\">\r\n",
       "      <!-- 0.6 -->\r\n",
       "      <g transform=\"translate(7.2 73.53356)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_4\">\r\n",
       "     <g id=\"line2d_17\">\r\n",
       "      <path clip-path=\"url(#pc044b7f34e)\" d=\"M 30.103125 34.682051 \r\n",
       "L 225.403125 34.682051 \r\n",
       "\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\r\n",
       "     </g>\r\n",
       "     <g id=\"line2d_18\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mc6fb1a1a41\" y=\"34.682051\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_10\">\r\n",
       "      <!-- 0.8 -->\r\n",
       "      <g transform=\"translate(7.2 38.48127)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-48\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\r\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_19\">\r\n",
       "    <path clip-path=\"url(#pc044b7f34e)\" d=\"M 12.70611 15.958791 \r\n",
       "L 17.009095 41.953452 \r\n",
       "L 21.31208 55.132315 \r\n",
       "L 25.615065 63.318296 \r\n",
       "L 29.91805 69.456829 \r\n",
       "L 30.103125 69.677074 \r\n",
       "L 34.40611 99.797124 \r\n",
       "L 38.709095 101.470615 \r\n",
       "L 43.01208 101.387046 \r\n",
       "L 47.315065 102.468561 \r\n",
       "L 51.61805 103.191574 \r\n",
       "L 51.803125 103.243274 \r\n",
       "L 56.10611 112.755413 \r\n",
       "L 60.409095 111.721503 \r\n",
       "L 64.71208 112.212073 \r\n",
       "L 69.015065 112.47241 \r\n",
       "L 73.31805 112.758175 \r\n",
       "L 73.503125 112.798861 \r\n",
       "L 77.80611 118.107017 \r\n",
       "L 82.109095 117.300054 \r\n",
       "L 86.41208 118.201745 \r\n",
       "L 90.715065 118.235481 \r\n",
       "L 95.01805 118.675728 \r\n",
       "L 95.203125 118.657637 \r\n",
       "L 99.50611 122.655615 \r\n",
       "L 103.809095 122.619909 \r\n",
       "L 108.11208 123.385938 \r\n",
       "L 112.415065 122.985663 \r\n",
       "L 116.71805 122.870483 \r\n",
       "L 116.903125 122.871572 \r\n",
       "L 121.20611 123.880581 \r\n",
       "L 125.509095 126.115374 \r\n",
       "L 129.81208 125.828902 \r\n",
       "L 134.115065 126.147853 \r\n",
       "L 138.41805 126.521935 \r\n",
       "L 138.603125 126.566173 \r\n",
       "L 142.90611 128.134245 \r\n",
       "L 147.209095 128.941387 \r\n",
       "L 151.51208 128.950613 \r\n",
       "L 155.815065 129.23439 \r\n",
       "L 160.11805 129.28362 \r\n",
       "L 160.303125 129.359802 \r\n",
       "L 164.60611 133.193871 \r\n",
       "L 168.909095 132.817976 \r\n",
       "L 173.21208 132.68087 \r\n",
       "L 177.515065 132.371788 \r\n",
       "L 181.81805 132.363455 \r\n",
       "L 182.003125 132.374651 \r\n",
       "L 186.30611 132.96032 \r\n",
       "L 190.609095 133.993866 \r\n",
       "L 194.91208 134.114907 \r\n",
       "L 199.215065 134.455557 \r\n",
       "L 203.51805 134.366415 \r\n",
       "L 203.703125 134.400984 \r\n",
       "L 208.00611 136.69553 \r\n",
       "L 212.309095 136.738917 \r\n",
       "L 216.61208 136.812857 \r\n",
       "L 220.915065 136.922727 \r\n",
       "L 225.21805 136.759713 \r\n",
       "L 225.403125 136.728047 \r\n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_20\">\r\n",
       "    <path clip-path=\"url(#pc044b7f34e)\" d=\"M 12.70611 54.030892 \r\n",
       "L 17.009095 45.668282 \r\n",
       "L 21.31208 41.374102 \r\n",
       "L 25.615065 38.542397 \r\n",
       "L 29.91805 36.384019 \r\n",
       "L 30.103125 36.309062 \r\n",
       "L 34.40611 25.83653 \r\n",
       "L 38.709095 25.262337 \r\n",
       "L 43.01208 25.291783 \r\n",
       "L 47.315065 25.093024 \r\n",
       "L 51.61805 24.841262 \r\n",
       "L 51.803125 24.858647 \r\n",
       "L 56.10611 21.066309 \r\n",
       "L 60.409095 21.655226 \r\n",
       "L 64.71208 21.591426 \r\n",
       "L 69.015065 21.522719 \r\n",
       "L 73.31805 21.522719 \r\n",
       "L 73.503125 21.499469 \r\n",
       "L 77.80611 20.138766 \r\n",
       "L 82.109095 20.565731 \r\n",
       "L 86.41208 20.074967 \r\n",
       "L 90.715065 20.024664 \r\n",
       "L 95.01805 19.853142 \r\n",
       "L 95.203125 19.866616 \r\n",
       "L 99.50611 18.298403 \r\n",
       "L 103.809095 18.475078 \r\n",
       "L 108.11208 17.979407 \r\n",
       "L 112.415065 18.169578 \r\n",
       "L 116.71805 18.210066 \r\n",
       "L 116.903125 18.239606 \r\n",
       "L 121.20611 17.591704 \r\n",
       "L 125.509095 17.127933 \r\n",
       "L 129.81208 17.282523 \r\n",
       "L 134.115065 17.201547 \r\n",
       "L 138.41805 17.073458 \r\n",
       "L 138.603125 17.059512 \r\n",
       "L 142.90611 16.561101 \r\n",
       "L 147.209095 15.920654 \r\n",
       "L 151.51208 15.967277 \r\n",
       "L 155.815065 15.751341 \r\n",
       "L 160.11805 15.745452 \r\n",
       "L 160.303125 15.721683 \r\n",
       "L 164.60611 14.88269 \r\n",
       "L 168.909095 14.698653 \r\n",
       "L 173.21208 14.838521 \r\n",
       "L 177.515065 14.937901 \r\n",
       "L 181.81805 14.897413 \r\n",
       "L 182.003125 14.880428 \r\n",
       "L 186.30611 14.588232 \r\n",
       "L 190.609095 14.293774 \r\n",
       "L 194.91208 14.269235 \r\n",
       "L 199.215065 14.157587 \r\n",
       "L 203.51805 14.352665 \r\n",
       "L 203.703125 14.334197 \r\n",
       "L 208.00611 13.51346 \r\n",
       "L 212.309095 13.417761 \r\n",
       "L 216.61208 13.479106 \r\n",
       "L 220.915065 13.377273 \r\n",
       "L 225.21805 13.457513 \r\n",
       "L 225.403125 13.481258 \r\n",
       "\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"line2d_21\">\r\n",
       "    <path clip-path=\"url(#pc044b7f34e)\" d=\"M 30.103125 23.149848 \r\n",
       "L 51.803125 20.696187 \r\n",
       "L 73.503125 19.259043 \r\n",
       "L 95.203125 18.242527 \r\n",
       "L 116.903125 18.049739 \r\n",
       "L 138.603125 17.190958 \r\n",
       "L 160.303125 16.034233 \r\n",
       "L 182.003125 15.788867 \r\n",
       "L 203.703125 16.489913 \r\n",
       "L 225.403125 15.315661 \r\n",
       "\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_3\">\r\n",
       "    <path d=\"M 30.103125 143.1 \r\n",
       "L 30.103125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_4\">\r\n",
       "    <path d=\"M 225.403125 143.1 \r\n",
       "L 225.403125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_5\">\r\n",
       "    <path d=\"M 30.103125 143.1 \r\n",
       "L 225.403125 143.1 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_6\">\r\n",
       "    <path d=\"M 30.103125 7.2 \r\n",
       "L 225.403125 7.2 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"legend_1\">\r\n",
       "    <g id=\"patch_7\">\r\n",
       "     <path d=\"M 140.634375 98.667187 \r\n",
       "L 218.403125 98.667187 \r\n",
       "Q 220.403125 98.667187 220.403125 96.667187 \r\n",
       "L 220.403125 53.632812 \r\n",
       "Q 220.403125 51.632812 218.403125 51.632812 \r\n",
       "L 140.634375 51.632812 \r\n",
       "Q 138.634375 51.632812 138.634375 53.632812 \r\n",
       "L 138.634375 96.667187 \r\n",
       "Q 138.634375 98.667187 140.634375 98.667187 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_22\">\r\n",
       "     <path d=\"M 142.634375 59.73125 \r\n",
       "L 162.634375 59.73125 \r\n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_23\"/>\r\n",
       "    <g id=\"text_11\">\r\n",
       "     <!-- train loss -->\r\n",
       "     <g transform=\"translate(170.634375 63.23125)scale(0.1 -0.1)\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 18.3125 70.21875 \r\n",
       "L 18.3125 54.6875 \r\n",
       "L 36.8125 54.6875 \r\n",
       "L 36.8125 47.703125 \r\n",
       "L 18.3125 47.703125 \r\n",
       "L 18.3125 18.015625 \r\n",
       "Q 18.3125 11.328125 20.140625 9.421875 \r\n",
       "Q 21.96875 7.515625 27.59375 7.515625 \r\n",
       "L 36.8125 7.515625 \r\n",
       "L 36.8125 0 \r\n",
       "L 27.59375 0 \r\n",
       "Q 17.1875 0 13.234375 3.875 \r\n",
       "Q 9.28125 7.765625 9.28125 18.015625 \r\n",
       "L 9.28125 47.703125 \r\n",
       "L 2.6875 47.703125 \r\n",
       "L 2.6875 54.6875 \r\n",
       "L 9.28125 54.6875 \r\n",
       "L 9.28125 70.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-116\"/>\r\n",
       "       <path d=\"M 41.109375 46.296875 \r\n",
       "Q 39.59375 47.171875 37.8125 47.578125 \r\n",
       "Q 36.03125 48 33.890625 48 \r\n",
       "Q 26.265625 48 22.1875 43.046875 \r\n",
       "Q 18.109375 38.09375 18.109375 28.8125 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 20.953125 51.171875 25.484375 53.578125 \r\n",
       "Q 30.03125 56 36.53125 56 \r\n",
       "Q 37.453125 56 38.578125 55.875 \r\n",
       "Q 39.703125 55.765625 41.0625 55.515625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-114\"/>\r\n",
       "       <path d=\"M 34.28125 27.484375 \r\n",
       "Q 23.390625 27.484375 19.1875 25 \r\n",
       "Q 14.984375 22.515625 14.984375 16.5 \r\n",
       "Q 14.984375 11.71875 18.140625 8.90625 \r\n",
       "Q 21.296875 6.109375 26.703125 6.109375 \r\n",
       "Q 34.1875 6.109375 38.703125 11.40625 \r\n",
       "Q 43.21875 16.703125 43.21875 25.484375 \r\n",
       "L 43.21875 27.484375 \r\n",
       "z\r\n",
       "M 52.203125 31.203125 \r\n",
       "L 52.203125 0 \r\n",
       "L 43.21875 0 \r\n",
       "L 43.21875 8.296875 \r\n",
       "Q 40.140625 3.328125 35.546875 0.953125 \r\n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \r\n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \r\n",
       "Q 6 8.015625 6 15.921875 \r\n",
       "Q 6 25.140625 12.171875 29.828125 \r\n",
       "Q 18.359375 34.515625 30.609375 34.515625 \r\n",
       "L 43.21875 34.515625 \r\n",
       "L 43.21875 35.40625 \r\n",
       "Q 43.21875 41.609375 39.140625 45 \r\n",
       "Q 35.0625 48.390625 27.6875 48.390625 \r\n",
       "Q 23 48.390625 18.546875 47.265625 \r\n",
       "Q 14.109375 46.140625 10.015625 43.890625 \r\n",
       "L 10.015625 52.203125 \r\n",
       "Q 14.9375 54.109375 19.578125 55.046875 \r\n",
       "Q 24.21875 56 28.609375 56 \r\n",
       "Q 40.484375 56 46.34375 49.84375 \r\n",
       "Q 52.203125 43.703125 52.203125 31.203125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-97\"/>\r\n",
       "       <path d=\"M 9.421875 54.6875 \r\n",
       "L 18.40625 54.6875 \r\n",
       "L 18.40625 0 \r\n",
       "L 9.421875 0 \r\n",
       "z\r\n",
       "M 9.421875 75.984375 \r\n",
       "L 18.40625 75.984375 \r\n",
       "L 18.40625 64.59375 \r\n",
       "L 9.421875 64.59375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-105\"/>\r\n",
       "       <path d=\"M 54.890625 33.015625 \r\n",
       "L 54.890625 0 \r\n",
       "L 45.90625 0 \r\n",
       "L 45.90625 32.71875 \r\n",
       "Q 45.90625 40.484375 42.875 44.328125 \r\n",
       "Q 39.84375 48.1875 33.796875 48.1875 \r\n",
       "Q 26.515625 48.1875 22.3125 43.546875 \r\n",
       "Q 18.109375 38.921875 18.109375 30.90625 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 54.6875 \r\n",
       "L 18.109375 54.6875 \r\n",
       "L 18.109375 46.1875 \r\n",
       "Q 21.34375 51.125 25.703125 53.5625 \r\n",
       "Q 30.078125 56 35.796875 56 \r\n",
       "Q 45.21875 56 50.046875 50.171875 \r\n",
       "Q 54.890625 44.34375 54.890625 33.015625 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-110\"/>\r\n",
       "       <path id=\"DejaVuSans-32\"/>\r\n",
       "       <path d=\"M 9.421875 75.984375 \r\n",
       "L 18.40625 75.984375 \r\n",
       "L 18.40625 0 \r\n",
       "L 9.421875 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-108\"/>\r\n",
       "       <path d=\"M 44.28125 53.078125 \r\n",
       "L 44.28125 44.578125 \r\n",
       "Q 40.484375 46.53125 36.375 47.5 \r\n",
       "Q 32.28125 48.484375 27.875 48.484375 \r\n",
       "Q 21.1875 48.484375 17.84375 46.4375 \r\n",
       "Q 14.5 44.390625 14.5 40.28125 \r\n",
       "Q 14.5 37.15625 16.890625 35.375 \r\n",
       "Q 19.28125 33.59375 26.515625 31.984375 \r\n",
       "L 29.59375 31.296875 \r\n",
       "Q 39.15625 29.25 43.1875 25.515625 \r\n",
       "Q 47.21875 21.78125 47.21875 15.09375 \r\n",
       "Q 47.21875 7.46875 41.1875 3.015625 \r\n",
       "Q 35.15625 -1.421875 24.609375 -1.421875 \r\n",
       "Q 20.21875 -1.421875 15.453125 -0.5625 \r\n",
       "Q 10.6875 0.296875 5.421875 2 \r\n",
       "L 5.421875 11.28125 \r\n",
       "Q 10.40625 8.6875 15.234375 7.390625 \r\n",
       "Q 20.0625 6.109375 24.8125 6.109375 \r\n",
       "Q 31.15625 6.109375 34.5625 8.28125 \r\n",
       "Q 37.984375 10.453125 37.984375 14.40625 \r\n",
       "Q 37.984375 18.0625 35.515625 20.015625 \r\n",
       "Q 33.0625 21.96875 24.703125 23.78125 \r\n",
       "L 21.578125 24.515625 \r\n",
       "Q 13.234375 26.265625 9.515625 29.90625 \r\n",
       "Q 5.8125 33.546875 5.8125 39.890625 \r\n",
       "Q 5.8125 47.609375 11.28125 51.796875 \r\n",
       "Q 16.75 56 26.8125 56 \r\n",
       "Q 31.78125 56 36.171875 55.265625 \r\n",
       "Q 40.578125 54.546875 44.28125 53.078125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-115\"/>\r\n",
       "      </defs>\r\n",
       "      <use xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "      <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\r\n",
       "      <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\r\n",
       "      <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\r\n",
       "      <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "      <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_24\">\r\n",
       "     <path d=\"M 142.634375 74.409375 \r\n",
       "L 162.634375 74.409375 \r\n",
       "\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_25\"/>\r\n",
       "    <g id=\"text_12\">\r\n",
       "     <!-- train acc -->\r\n",
       "     <g transform=\"translate(170.634375 77.909375)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\r\n",
       "      <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\r\n",
       "      <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\r\n",
       "      <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "      <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_26\">\r\n",
       "     <path d=\"M 142.634375 89.0875 \r\n",
       "L 162.634375 89.0875 \r\n",
       "\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\r\n",
       "    </g>\r\n",
       "    <g id=\"line2d_27\"/>\r\n",
       "    <g id=\"text_13\">\r\n",
       "     <!-- test acc -->\r\n",
       "     <g transform=\"translate(170.634375 92.5875)scale(0.1 -0.1)\">\r\n",
       "      <use xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\r\n",
       "      <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\r\n",
       "      <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\r\n",
       "      <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "      <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "      <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       " </g>\r\n",
       " <defs>\r\n",
       "  <clipPath id=\"pc044b7f34e\">\r\n",
       "   <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\r\n",
       "  </clipPath>\r\n",
       " </defs>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<Figure size 252x180 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_iter, test_iter = load_data_fashion_mnist(batch_size= 128)\n",
    "\n",
    "lr, num_epochs = 0.01, 10\n",
    "train_ch2(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "87b012d6",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存模型\n",
    "torch.save(net.state_dict(), \"net.params\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "05a15f65",
   "metadata": {},
   "source": [
    "### 爬虫"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "155c95d2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入图片关键词：Sneaker\n",
      "请输入要爬取的图片数量：60\n",
      "百度图片找到相关图片约149,000张\n",
      "已爬取网页\n",
      "第1页共收集到34张图片\n",
      "正在下载第1张图片，图片地址:https://img1.baidu.com/it/u=1335479393,2566617021&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=625\n",
      "正在下载第2张图片，图片地址:https://img1.baidu.com/it/u=2381031411,276126176&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=667\n",
      "正在下载第3张图片，图片地址:https://img1.baidu.com/it/u=1094536666,235948927&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=500\n",
      "正在下载第4张图片，图片地址:https://img2.baidu.com/it/u=22611312,279522894&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第5张图片，图片地址:https://img2.baidu.com/it/u=548904469,3832286726&fm=253&fmt=auto&app=120&f=JPEG?w=650&h=436\n",
      "正在下载第6张图片，图片地址:https://img0.baidu.com/it/u=2449516717,2284003382&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500\n",
      "正在下载第7张图片，图片地址:https://img0.baidu.com/it/u=472212321,3556179635&fm=253&fmt=auto&app=138&f=JPEG?w=333&h=500\n",
      "正在下载第8张图片，图片地址:https://img0.baidu.com/it/u=4112465995,3322805883&fm=253&fmt=auto&app=138&f=JPEG?w=400&h=500\n",
      "正在下载第9张图片，图片地址:https://img1.baidu.com/it/u=1813464070,1407738398&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=625\n",
      "正在下载第10张图片，图片地址:https://img2.baidu.com/it/u=1251430623,1674613816&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500\n",
      "正在下载第11张图片，图片地址:https://img2.baidu.com/it/u=2665447432,1216671907&fm=253&fmt=auto&app=138&f=JPEG?w=667&h=500\n",
      "正在下载第12张图片，图片地址:https://img1.baidu.com/it/u=3543477741,4036506692&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=563\n",
      "正在下载第13张图片，图片地址:https://img0.baidu.com/it/u=2356080127,1793138233&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500\n",
      "正在下载第14张图片，图片地址:https://img0.baidu.com/it/u=1606677778,3671533620&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=240\n",
      "正在下载第15张图片，图片地址:https://img2.baidu.com/it/u=996821599,3653511119&fm=253&fmt=auto&app=138&f=JPEG?w=667&h=500\n",
      "正在下载第16张图片，图片地址:https://img2.baidu.com/it/u=965096210,57223611&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=342\n",
      "正在下载第17张图片，图片地址:https://img2.baidu.com/it/u=3252169218,3208345169&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500\n",
      "正在下载第18张图片，图片地址:https://img2.baidu.com/it/u=750268056,3402965787&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第19张图片，图片地址:https://img1.baidu.com/it/u=3182636599,1762169019&fm=26&fmt=auto\n",
      "正在下载第20张图片，图片地址:https://img2.baidu.com/it/u=2732137849,3681115292&fm=253&fmt=auto&app=138&f=JPEG?w=749&h=500\n",
      "正在下载第21张图片，图片地址:https://img2.baidu.com/it/u=2779073829,3067063186&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=625\n",
      "正在下载第22张图片，图片地址:https://img2.baidu.com/it/u=374522885,2809464938&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第23张图片，图片地址:https://img1.baidu.com/it/u=3823375572,287437807&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=889\n",
      "正在下载第24张图片，图片地址:https://img1.baidu.com/it/u=1837510620,2679829775&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500\n",
      "正在下载第25张图片，图片地址:https://img1.baidu.com/it/u=485702497,4238635599&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第26张图片，图片地址:https://img1.baidu.com/it/u=3879291513,2509924061&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第27张图片，图片地址:https://img0.baidu.com/it/u=1791691641,498733662&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=625\n",
      "正在下载第28张图片，图片地址:https://img1.baidu.com/it/u=2441681510,1491557328&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333\n",
      "正在下载第29张图片，图片地址:https://img1.baidu.com/it/u=947688177,3170236267&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500\n",
      "正在下载第30张图片，图片地址:https://img1.baidu.com/it/u=861703921,1646668059&fm=253&fmt=auto&app=138&f=GIF?w=889&h=500\n",
      "正在下载第31张图片，图片地址:https:\\/\\/ns-strategy.cdn.bcebos.com\\/ns-strategy\\/upload\\/fc_big_pic\\/part-00798-912.jpg\n",
      "错误，当前图片无法下载\n",
      "正在下载第31张图片，图片地址:https:\\/\\/ns-strategy.cdn.bcebos.com\\/ns-strategy\\/upload\\/fc_big_pic\\/part-00493-2388.jpg\n",
      "错误，当前图片无法下载\n",
      "正在下载第31张图片，图片地址:https:\\/\\/ns-strategy.cdn.bcebos.com\\/ns-strategy\\/upload\\/fc_big_pic\\/part-00783-2186.jpg\n",
      "错误，当前图片无法下载\n",
      "正在下载第31张图片，图片地址:https:\\/\\/ns-strategy.cdn.bcebos.com\\/ns-strategy\\/upload\\/fc_big_pic\\/part-00403-3305.jpg\n",
      "错误，当前图片无法下载\n",
      "已爬取网页\n",
      "第1页共收集到34张图片\n",
      "正在下载第31张图片，图片地址:https://img1.baidu.com/it/u=3963397957,3814753755&fm=26&fmt=auto\n",
      "正在下载第32张图片，图片地址:https://img2.baidu.com/it/u=3158007515,4125104814&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500\n",
      "正在下载第33张图片，图片地址:https://img1.baidu.com/it/u=3233667898,1606412771&fm=253&fmt=auto&app=138&f=JPEG?w=403&h=500\n",
      "正在下载第34张图片，图片地址:https://img0.baidu.com/it/u=2538910377,120078055&fm=253&fmt=auto&app=138&f=PNG?w=500&h=500\n",
      "正在下载第35张图片，图片地址:https://img2.baidu.com/it/u=1749328862,2521276912&fm=26&fmt=auto\n",
      "正在下载第36张图片，图片地址:https://img0.baidu.com/it/u=3705084539,488972714&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第37张图片，图片地址:https://img2.baidu.com/it/u=2113082915,719373264&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第38张图片，图片地址:https://img0.baidu.com/it/u=1966461353,3329030223&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第39张图片，图片地址:https://img2.baidu.com/it/u=2322036748,1161800896&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=375\n",
      "正在下载第40张图片，图片地址:https://img0.baidu.com/it/u=2908818774,2648685017&fm=253&fmt=auto&app=138&f=JPEG?w=402&h=500\n",
      "正在下载第41张图片，图片地址:https://img0.baidu.com/it/u=1005418235,845089009&fm=253&fmt=auto&app=138&f=JPEG?w=707&h=500\n",
      "正在下载第42张图片，图片地址:https://img0.baidu.com/it/u=1138878933,266927076&fm=253&fmt=auto&app=138&f=JPEG?w=310&h=206\n",
      "正在下载第43张图片，图片地址:https://img1.baidu.com/it/u=3275890240,368912438&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500\n",
      "正在下载第44张图片，图片地址:https://img0.baidu.com/it/u=282816768,1339923352&fm=253&fmt=auto&app=138&f=JPEG?w=392&h=696\n",
      "正在下载第45张图片，图片地址:https://img2.baidu.com/it/u=2988132405,1642334998&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333\n",
      "正在下载第46张图片，图片地址:https://img1.baidu.com/it/u=1317496258,3748665140&fm=253&fmt=auto&app=138&f=JPEG?w=784&h=500\n",
      "正在下载第47张图片，图片地址:https://img1.baidu.com/it/u=2775429229,4172221926&fm=253&fmt=auto&app=138&f=JPEG?w=468&h=334\n",
      "正在下载第48张图片，图片地址:https://img2.baidu.com/it/u=2656370945,4096949811&fm=26&fmt=auto\n",
      "正在下载第49张图片，图片地址:https://img0.baidu.com/it/u=3703155616,3998781113&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=354\n",
      "正在下载第50张图片，图片地址:https://img0.baidu.com/it/u=1718626629,4217456221&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500\n",
      "正在下载第51张图片，图片地址:https://img0.baidu.com/it/u=12768368,1475207583&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=748\n",
      "正在下载第52张图片，图片地址:https://img1.baidu.com/it/u=1756340280,3639142283&fm=253&fmt=auto&app=138&f=JPEG?w=650&h=432\n",
      "正在下载第53张图片，图片地址:https://img0.baidu.com/it/u=3531748903,3182098694&fm=253&fmt=auto&app=138&f=JPEG?w=773&h=500\n",
      "正在下载第54张图片，图片地址:https://img0.baidu.com/it/u=3364784987,3735657156&fm=253&fmt=auto&app=120&f=JPEG?w=800&h=800\n",
      "正在下载第55张图片，图片地址:https://img1.baidu.com/it/u=2205899360,3644656743&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=889\n",
      "正在下载第56张图片，图片地址:https://img1.baidu.com/it/u=923825412,3344285996&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333\n",
      "正在下载第57张图片，图片地址:https://img1.baidu.com/it/u=858793960,3233095968&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500\n",
      "正在下载第58张图片，图片地址:https://img0.baidu.com/it/u=2895809500,1945902507&fm=253&fmt=auto&app=138&f=JPEG?w=684&h=500\n",
      "正在下载第59张图片，图片地址:https://img0.baidu.com/it/u=236750867,966271622&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=334\n",
      "正在下载第60张图片，图片地址:https://img2.baidu.com/it/u=2989322180,4138149984&fm=253&fmt=auto&app=138&f=JPEG?w=1091&h=500\n",
      "处理完毕，共耗时:10.861372947692871秒\n"
     ]
    }
   ],
   "source": [
    "import requests#爬虫库\n",
    "import re#正则表达式库\n",
    "import os#系统库\n",
    "import time#时间库\n",
    "\n",
    "headers = {#文件头，必须有，否则会安全验证\n",
    "        \"Accept\":\"application/json, text/javascript, */*; q=0.01\",\n",
    "        'Accept-Encoding': 'gzip, deflate, br',\n",
    "        'Accept-Language': 'zh-CN,zh;q=0.9',\n",
    "        'Connection': 'keep-alive',\n",
    "        \"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\",\n",
    "        'Host': 'image.baidu.com',\n",
    "        'Referer': 'https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=&st=-1&fm=result&fr=&sf=1&fmq=1610952036123_R&pv=&ic=&nc=1&z=&hd=&latest=&copyright=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&sid=&word=%E6%98%9F%E9%99%85',\n",
    "        'Sec-Fetch-Mode': 'cors',\n",
    "        'Sec-Fetch-Site': 'same-origin',\n",
    "        'X-Requested-With': 'XMLHttpRequest'\n",
    "    }\n",
    "\n",
    "url='http://image.baidu.com/search/index?tn=baiduimage&fm=result&ie=utf-8&word='#百度链接\n",
    "keyword=input(\"请输入图片关键词：\")\n",
    "# keyword='cyberpunk'\n",
    "countmax=eval(input(\"请输入要爬取的图片数量：\"))\n",
    "url=url+keyword+\"&pn=\"\n",
    "time_start=time.time()#获取初始时间\n",
    "\n",
    "strhtml=requests.get(url,headers=headers)#get方式获取数据\n",
    "string=str(strhtml.text)\n",
    "# with open(\"data.txt\",\"w\",encoding='utf-8') as f:#这个编码是个问题\n",
    "#     f.write(string)  #这句话自带文件关闭功能，不需要再写f.close()\n",
    "# print(\"已爬取，数据存入data.txt\")\n",
    "\n",
    "#正则表达式取得图片总数量\n",
    "totalnum = re.findall('<div id=\"resultInfo\" style=\"font-size: 13px;\">(.*?)</div>', string) \n",
    "print(\"百度图片\"+totalnum[0])\n",
    "\n",
    "img_url_regex = '\"thumbURL\":\"(.*?)\",'#正则匹配式\n",
    "count=0#总共下载的图片数\n",
    "index=0#链接后面的序号\n",
    "page=0#当前搜集的页\n",
    "while(1):\n",
    "    strhtml=requests.get(url+str(index),headers=headers)#get方式获取数据\n",
    "    string=str(strhtml.text)\n",
    "    print(\"已爬取网页\")\n",
    "    pic_url = re.findall(img_url_regex, string)  # 先利用正则表达式找到图片url\n",
    "    print(\"第\"+str(page+1)+\"页共收集到\"+str(len(pic_url))+\"张图片\")\n",
    "    index+=len(pic_url)#网址索引向后，跳到下一页继续搜刮图片\n",
    "    try:#如果没有文件夹就创建\n",
    "        os.mkdir('.'+r'\\\\' + keyword)\n",
    "    except:\n",
    "        pass\n",
    "\n",
    "    for each in pic_url:\n",
    "        print('正在下载第' + str(count + 1) + '张图片，图片地址:' + str(each))\n",
    "        try:\n",
    "            if each is not None:\n",
    "                pic = requests.get(each, timeout=5)\n",
    "            else:\n",
    "                continue\n",
    "        except BaseException:\n",
    "            print('错误，当前图片无法下载')\n",
    "            continue\n",
    "        else:\n",
    "            string = '.' + r'\\\\' + keyword + r'\\\\' + keyword + '_' + str(count+1) + '.jpg'\n",
    "            fp = open(string, 'wb')\n",
    "            fp.write(pic.content)\n",
    "            fp.close()\n",
    "            count += 1\n",
    "        if countmax==count:\n",
    "                break    \n",
    "    if countmax==count:\n",
    "                break\n",
    "time_end=time.time()#获取结束时间\n",
    "print('处理完毕，共耗时:'+str(time_end-time_start)+\"秒\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "a4254eec",
   "metadata": {},
   "outputs": [],
   "source": [
    "from torch.utils import data\n",
    "from PIL import Image\n",
    "import requests#爬虫库\n",
    "import re#正则表达式库\n",
    "import os#系统库\n",
    "import time#时间库\n",
    "\n",
    "# transforms.Compose串联多个图片变换的操作\n",
    "transform = transforms.Compose(\n",
    "    [\n",
    "     # transforms.RandomHorizontalFlip(),   #随机水平翻转，概率为0.5，一半的概率翻转，一半的概率不翻转。\n",
    "     # transforms.RandomGrayscale(),        #依概率p转为灰度图\n",
    "     transforms.ToTensor(),\n",
    "     transforms.Resize((28,28)),\n",
    "     transforms.Grayscale(num_output_channels=1),\n",
    "     # transforms.Lambda(lambda x: x.repeat(1,1,1))\n",
    "    ]) \n",
    "class_num =8\n",
    "#定义自己的数据集合\n",
    "class FlameSet(data.Dataset):\n",
    "    def __init__(self,root):\n",
    "        # 所有图片的绝对路径\n",
    "        imgs=os.listdir(root)\n",
    "        self.imgs=[os.path.join(root,k) for k in imgs]\n",
    "        self.transforms=transform\n",
    "\n",
    "    def __getitem__(self,index):\n",
    "        img_path = self.imgs[index]\n",
    "        # 手动打标签\n",
    "        # 打标签这一块还可以根据文件名进行改进\n",
    "        label = class_num\n",
    "        pil_img = Image.open(img_path)\n",
    "        if self.transforms:\n",
    "            data = self.transforms(pil_img)\n",
    "        else:\n",
    "            pil_img = np.asarray(pil_img)\n",
    "            data = torch.from_numpy(pil_img)\n",
    "        return data,label\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.imgs)\n",
    "class_num =8\n",
    "dataSet=FlameSet('./Bag')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "0e60c0f0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n",
       "<svg height=\"89.763888pt\" version=\"1.1\" viewBox=\"0 0 687.5 89.763888\" width=\"687.5pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       " <metadata>\r\n",
       "  <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n",
       "   <cc:Work>\r\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n",
       "    <dc:date>2022-02-19T20:18:54.805431</dc:date>\r\n",
       "    <dc:format>image/svg+xml</dc:format>\r\n",
       "    <dc:creator>\r\n",
       "     <cc:Agent>\r\n",
       "      <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n",
       "     </cc:Agent>\r\n",
       "    </dc:creator>\r\n",
       "   </cc:Work>\r\n",
       "  </rdf:RDF>\r\n",
       " </metadata>\r\n",
       " <defs>\r\n",
       "  <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n",
       " </defs>\r\n",
       " <g id=\"figure_1\">\r\n",
       "  <g id=\"patch_1\">\r\n",
       "   <path d=\"M 0 89.763888 \r\n",
       "L 687.5 89.763888 \r\n",
       "L 687.5 0 \r\n",
       "L 0 0 \r\n",
       "z\r\n",
       "\" style=\"fill:none;\"/>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_1\">\r\n",
       "   <g id=\"patch_2\">\r\n",
       "    <path d=\"M 10.7 79.063888 \r\n",
       "L 67.445763 79.063888 \r\n",
       "L 67.445763 22.318125 \r\n",
       "L 10.7 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#p210de60a69)\">\r\n",
       "    <image height=\"57\" id=\"image072c626255\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"10.7\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_3\">\r\n",
       "    <path d=\"M 10.7 79.063888 \r\n",
       "L 10.7 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_4\">\r\n",
       "    <path d=\"M 67.445763 79.063888 \r\n",
       "L 67.445763 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_5\">\r\n",
       "    <path d=\"M 10.7 79.063888 \r\n",
       "L 67.445763 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_6\">\r\n",
       "    <path d=\"M 10.7 22.318125 \r\n",
       "L 67.445763 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_1\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(27.777881 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <defs>\r\n",
       "      <path d=\"M 48.6875 27.296875 \r\n",
       "Q 48.6875 37.203125 44.609375 42.84375 \r\n",
       "Q 40.53125 48.484375 33.40625 48.484375 \r\n",
       "Q 26.265625 48.484375 22.1875 42.84375 \r\n",
       "Q 18.109375 37.203125 18.109375 27.296875 \r\n",
       "Q 18.109375 17.390625 22.1875 11.75 \r\n",
       "Q 26.265625 6.109375 33.40625 6.109375 \r\n",
       "Q 40.53125 6.109375 44.609375 11.75 \r\n",
       "Q 48.6875 17.390625 48.6875 27.296875 \r\n",
       "z\r\n",
       "M 18.109375 46.390625 \r\n",
       "Q 20.953125 51.265625 25.265625 53.625 \r\n",
       "Q 29.59375 56 35.59375 56 \r\n",
       "Q 45.5625 56 51.78125 48.09375 \r\n",
       "Q 58.015625 40.1875 58.015625 27.296875 \r\n",
       "Q 58.015625 14.40625 51.78125 6.484375 \r\n",
       "Q 45.5625 -1.421875 35.59375 -1.421875 \r\n",
       "Q 29.59375 -1.421875 25.265625 0.953125 \r\n",
       "Q 20.953125 3.328125 18.109375 8.203125 \r\n",
       "L 18.109375 0 \r\n",
       "L 9.078125 0 \r\n",
       "L 9.078125 75.984375 \r\n",
       "L 18.109375 75.984375 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-98\"/>\r\n",
       "      <path d=\"M 34.28125 27.484375 \r\n",
       "Q 23.390625 27.484375 19.1875 25 \r\n",
       "Q 14.984375 22.515625 14.984375 16.5 \r\n",
       "Q 14.984375 11.71875 18.140625 8.90625 \r\n",
       "Q 21.296875 6.109375 26.703125 6.109375 \r\n",
       "Q 34.1875 6.109375 38.703125 11.40625 \r\n",
       "Q 43.21875 16.703125 43.21875 25.484375 \r\n",
       "L 43.21875 27.484375 \r\n",
       "z\r\n",
       "M 52.203125 31.203125 \r\n",
       "L 52.203125 0 \r\n",
       "L 43.21875 0 \r\n",
       "L 43.21875 8.296875 \r\n",
       "Q 40.140625 3.328125 35.546875 0.953125 \r\n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \r\n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \r\n",
       "Q 6 8.015625 6 15.921875 \r\n",
       "Q 6 25.140625 12.171875 29.828125 \r\n",
       "Q 18.359375 34.515625 30.609375 34.515625 \r\n",
       "L 43.21875 34.515625 \r\n",
       "L 43.21875 35.40625 \r\n",
       "Q 43.21875 41.609375 39.140625 45 \r\n",
       "Q 35.0625 48.390625 27.6875 48.390625 \r\n",
       "Q 23 48.390625 18.546875 47.265625 \r\n",
       "Q 14.109375 46.140625 10.015625 43.890625 \r\n",
       "L 10.015625 52.203125 \r\n",
       "Q 14.9375 54.109375 19.578125 55.046875 \r\n",
       "Q 24.21875 56 28.609375 56 \r\n",
       "Q 40.484375 56 46.34375 49.84375 \r\n",
       "Q 52.203125 43.703125 52.203125 31.203125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-97\"/>\r\n",
       "      <path d=\"M 45.40625 27.984375 \r\n",
       "Q 45.40625 37.75 41.375 43.109375 \r\n",
       "Q 37.359375 48.484375 30.078125 48.484375 \r\n",
       "Q 22.859375 48.484375 18.828125 43.109375 \r\n",
       "Q 14.796875 37.75 14.796875 27.984375 \r\n",
       "Q 14.796875 18.265625 18.828125 12.890625 \r\n",
       "Q 22.859375 7.515625 30.078125 7.515625 \r\n",
       "Q 37.359375 7.515625 41.375 12.890625 \r\n",
       "Q 45.40625 18.265625 45.40625 27.984375 \r\n",
       "z\r\n",
       "M 54.390625 6.78125 \r\n",
       "Q 54.390625 -7.171875 48.1875 -13.984375 \r\n",
       "Q 42 -20.796875 29.203125 -20.796875 \r\n",
       "Q 24.46875 -20.796875 20.265625 -20.09375 \r\n",
       "Q 16.0625 -19.390625 12.109375 -17.921875 \r\n",
       "L 12.109375 -9.1875 \r\n",
       "Q 16.0625 -11.328125 19.921875 -12.34375 \r\n",
       "Q 23.78125 -13.375 27.78125 -13.375 \r\n",
       "Q 36.625 -13.375 41.015625 -8.765625 \r\n",
       "Q 45.40625 -4.15625 45.40625 5.171875 \r\n",
       "L 45.40625 9.625 \r\n",
       "Q 42.625 4.78125 38.28125 2.390625 \r\n",
       "Q 33.9375 0 27.875 0 \r\n",
       "Q 17.828125 0 11.671875 7.65625 \r\n",
       "Q 5.515625 15.328125 5.515625 27.984375 \r\n",
       "Q 5.515625 40.671875 11.671875 48.328125 \r\n",
       "Q 17.828125 56 27.875 56 \r\n",
       "Q 33.9375 56 38.28125 53.609375 \r\n",
       "Q 42.625 51.21875 45.40625 46.390625 \r\n",
       "L 45.40625 54.6875 \r\n",
       "L 54.390625 54.6875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-103\"/>\r\n",
       "     </defs>\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_2\">\r\n",
       "   <g id=\"patch_7\">\r\n",
       "    <path d=\"M 78.794915 79.063888 \r\n",
       "L 135.540678 79.063888 \r\n",
       "L 135.540678 22.318125 \r\n",
       "L 78.794915 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#p9d9cfe1cbf)\">\r\n",
       "    <image height=\"57\" id=\"image61cea6f7fa\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"78.794915\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_8\">\r\n",
       "    <path d=\"M 78.794915 79.063888 \r\n",
       "L 78.794915 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_9\">\r\n",
       "    <path d=\"M 135.540678 79.063888 \r\n",
       "L 135.540678 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_10\">\r\n",
       "    <path d=\"M 78.794915 79.063888 \r\n",
       "L 135.540678 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_11\">\r\n",
       "    <path d=\"M 78.794915 22.318125 \r\n",
       "L 135.540678 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_2\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(95.872797 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_3\">\r\n",
       "   <g id=\"patch_12\">\r\n",
       "    <path d=\"M 146.889831 79.063888 \r\n",
       "L 203.635593 79.063888 \r\n",
       "L 203.635593 22.318125 \r\n",
       "L 146.889831 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#pc38f575c77)\">\r\n",
       "    <image height=\"57\" id=\"image23f728dad4\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"146.889831\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_13\">\r\n",
       "    <path d=\"M 146.889831 79.063888 \r\n",
       "L 146.889831 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_14\">\r\n",
       "    <path d=\"M 203.635593 79.063888 \r\n",
       "L 203.635593 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_15\">\r\n",
       "    <path d=\"M 146.889831 79.063888 \r\n",
       "L 203.635593 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_16\">\r\n",
       "    <path d=\"M 146.889831 22.318125 \r\n",
       "L 203.635593 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_3\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(163.967712 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_4\">\r\n",
       "   <g id=\"patch_17\">\r\n",
       "    <path d=\"M 214.984746 79.063888 \r\n",
       "L 271.730508 79.063888 \r\n",
       "L 271.730508 22.318125 \r\n",
       "L 214.984746 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#p3d496818e4)\">\r\n",
       "    <image height=\"57\" id=\"image87d4382d1c\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"214.984746\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_18\">\r\n",
       "    <path d=\"M 214.984746 79.063888 \r\n",
       "L 214.984746 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_19\">\r\n",
       "    <path d=\"M 271.730508 79.063888 \r\n",
       "L 271.730508 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_20\">\r\n",
       "    <path d=\"M 214.984746 79.063888 \r\n",
       "L 271.730508 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_21\">\r\n",
       "    <path d=\"M 214.984746 22.318125 \r\n",
       "L 271.730508 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_4\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(232.062627 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_5\">\r\n",
       "   <g id=\"patch_22\">\r\n",
       "    <path d=\"M 283.079661 79.063888 \r\n",
       "L 339.825424 79.063888 \r\n",
       "L 339.825424 22.318125 \r\n",
       "L 283.079661 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#pf745625dc5)\">\r\n",
       "    <image height=\"57\" id=\"image3c6ee8f016\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"283.079661\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_23\">\r\n",
       "    <path d=\"M 283.079661 79.063888 \r\n",
       "L 283.079661 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_24\">\r\n",
       "    <path d=\"M 339.825424 79.063888 \r\n",
       "L 339.825424 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_25\">\r\n",
       "    <path d=\"M 283.079661 79.063888 \r\n",
       "L 339.825424 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_26\">\r\n",
       "    <path d=\"M 283.079661 22.318125 \r\n",
       "L 339.825424 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_5\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(300.157542 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_6\">\r\n",
       "   <g id=\"patch_27\">\r\n",
       "    <path d=\"M 351.174576 79.063888 \r\n",
       "L 407.920339 79.063888 \r\n",
       "L 407.920339 22.318125 \r\n",
       "L 351.174576 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#p815e5308ea)\">\r\n",
       "    <image height=\"57\" id=\"imagef7879233c1\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"351.174576\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_28\">\r\n",
       "    <path d=\"M 351.174576 79.063888 \r\n",
       "L 351.174576 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_29\">\r\n",
       "    <path d=\"M 407.920339 79.063888 \r\n",
       "L 407.920339 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_30\">\r\n",
       "    <path d=\"M 351.174576 79.063888 \r\n",
       "L 407.920339 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_31\">\r\n",
       "    <path d=\"M 351.174576 22.318125 \r\n",
       "L 407.920339 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_6\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(368.252458 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_7\">\r\n",
       "   <g id=\"patch_32\">\r\n",
       "    <path d=\"M 419.269492 79.063888 \r\n",
       "L 476.015254 79.063888 \r\n",
       "L 476.015254 22.318125 \r\n",
       "L 419.269492 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#p8ec60b48ea)\">\r\n",
       "    <image height=\"57\" id=\"image83a4d63a16\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"419.269492\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_33\">\r\n",
       "    <path d=\"M 419.269492 79.063888 \r\n",
       "L 419.269492 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_34\">\r\n",
       "    <path d=\"M 476.015254 79.063888 \r\n",
       "L 476.015254 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_35\">\r\n",
       "    <path d=\"M 419.269492 79.063888 \r\n",
       "L 476.015254 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_36\">\r\n",
       "    <path d=\"M 419.269492 22.318125 \r\n",
       "L 476.015254 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_7\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(436.347373 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_8\">\r\n",
       "   <g id=\"patch_37\">\r\n",
       "    <path d=\"M 487.364407 79.063888 \r\n",
       "L 544.110169 79.063888 \r\n",
       "L 544.110169 22.318125 \r\n",
       "L 487.364407 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#pa438c7bb30)\">\r\n",
       "    <image height=\"57\" id=\"image046285000b\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"487.364407\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_38\">\r\n",
       "    <path d=\"M 487.364407 79.063888 \r\n",
       "L 487.364407 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_39\">\r\n",
       "    <path d=\"M 544.110169 79.063888 \r\n",
       "L 544.110169 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_40\">\r\n",
       "    <path d=\"M 487.364407 79.063888 \r\n",
       "L 544.110169 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_41\">\r\n",
       "    <path d=\"M 487.364407 22.318125 \r\n",
       "L 544.110169 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_8\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(504.442288 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_9\">\r\n",
       "   <g id=\"patch_42\">\r\n",
       "    <path d=\"M 555.459322 79.063888 \r\n",
       "L 612.205085 79.063888 \r\n",
       "L 612.205085 22.318125 \r\n",
       "L 555.459322 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#p97f3c66ed9)\">\r\n",
       "    <image height=\"57\" id=\"imagee6b5d175fd\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"555.459322\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_43\">\r\n",
       "    <path d=\"M 555.459322 79.063888 \r\n",
       "L 555.459322 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_44\">\r\n",
       "    <path d=\"M 612.205085 79.063888 \r\n",
       "L 612.205085 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_45\">\r\n",
       "    <path d=\"M 555.459322 79.063888 \r\n",
       "L 612.205085 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_46\">\r\n",
       "    <path d=\"M 555.459322 22.318125 \r\n",
       "L 612.205085 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_9\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(572.537203 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_10\">\r\n",
       "   <g id=\"patch_47\">\r\n",
       "    <path d=\"M 623.554237 79.063888 \r\n",
       "L 680.3 79.063888 \r\n",
       "L 680.3 22.318125 \r\n",
       "L 623.554237 22.318125 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g clip-path=\"url(#pb69d371299)\">\r\n",
       "    <image height=\"57\" id=\"image953ed03b43\" transform=\"scale(1 -1)translate(0 -57)\" width=\"57\" x=\"623.554237\" xlink:href=\"data:image/png;base64,\r\n",
       "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\" y=\"-22.063888\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_48\">\r\n",
       "    <path d=\"M 623.554237 79.063888 \r\n",
       "L 623.554237 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_49\">\r\n",
       "    <path d=\"M 680.3 79.063888 \r\n",
       "L 680.3 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_50\">\r\n",
       "    <path d=\"M 623.554237 79.063888 \r\n",
       "L 680.3 79.063888 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_51\">\r\n",
       "    <path d=\"M 623.554237 22.318125 \r\n",
       "L 680.3 22.318125 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"text_10\">\r\n",
       "    <!-- bag -->\r\n",
       "    <g transform=\"translate(640.632119 16.318125)scale(0.12 -0.12)\">\r\n",
       "     <use xlink:href=\"#DejaVuSans-98\"/>\r\n",
       "     <use x=\"63.476562\" xlink:href=\"#DejaVuSans-97\"/>\r\n",
       "     <use x=\"124.755859\" xlink:href=\"#DejaVuSans-103\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       " </g>\r\n",
       " <defs>\r\n",
       "  <clipPath id=\"p210de60a69\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"10.7\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"p9d9cfe1cbf\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"78.794915\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"pc38f575c77\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"146.889831\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"p3d496818e4\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"214.984746\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"pf745625dc5\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"283.079661\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"p815e5308ea\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"351.174576\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"p8ec60b48ea\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"419.269492\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"pa438c7bb30\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"487.364407\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"p97f3c66ed9\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"555.459322\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       "  <clipPath id=\"pb69d371299\">\r\n",
       "   <rect height=\"56.745763\" width=\"56.745763\" x=\"623.554237\" y=\"22.318125\"/>\r\n",
       "  </clipPath>\r\n",
       " </defs>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<Figure size 864x144 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x, y = [], []\n",
    "for i in range(10):\n",
    "    x.append(dataSet[i][0])\n",
    "    y.append(dataSet[i][1])\n",
    "show_fashion_mnist(x, get_f_mnist_labels(y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "e9e90126",
   "metadata": {},
   "outputs": [
    {
     "ename": "RuntimeError",
     "evalue": "Expected object of device type cuda but got device type cpu for argument #1 'self' in call to _thnn_conv2d_forward",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mRuntimeError\u001b[0m                              Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_49264/595274741.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     21\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     22\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdataSet\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 23\u001b[1;33m     \u001b[0myy\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnet\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mVariable\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtorch\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0munsqueeze\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdataSet\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfloat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrequires_grad\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[1;34m(self, *input, **kwargs)\u001b[0m\n\u001b[0;32m    725\u001b[0m             \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_slow_forward\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    726\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 727\u001b[1;33m             \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    728\u001b[0m         for hook in itertools.chain(\n\u001b[0;32m    729\u001b[0m                 \u001b[0m_global_forward_hooks\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\torch\\nn\\modules\\container.py\u001b[0m in \u001b[0;36mforward\u001b[1;34m(self, input)\u001b[0m\n\u001b[0;32m    115\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mforward\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    116\u001b[0m         \u001b[1;32mfor\u001b[0m \u001b[0mmodule\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 117\u001b[1;33m             \u001b[0minput\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodule\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    118\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    119\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[1;34m(self, *input, **kwargs)\u001b[0m\n\u001b[0;32m    725\u001b[0m             \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_slow_forward\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    726\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 727\u001b[1;33m             \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    728\u001b[0m         for hook in itertools.chain(\n\u001b[0;32m    729\u001b[0m                 \u001b[0m_global_forward_hooks\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\torch\\nn\\modules\\conv.py\u001b[0m in \u001b[0;36mforward\u001b[1;34m(self, input)\u001b[0m\n\u001b[0;32m    421\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    422\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mforward\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mTensor\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mTensor\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 423\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_conv_forward\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mweight\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    424\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    425\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mConv3d\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_ConvNd\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\torch\\nn\\modules\\conv.py\u001b[0m in \u001b[0;36m_conv_forward\u001b[1;34m(self, input, weight)\u001b[0m\n\u001b[0;32m    417\u001b[0m                             \u001b[0mweight\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbias\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstride\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    418\u001b[0m                             _pair(0), self.dilation, self.groups)\n\u001b[1;32m--> 419\u001b[1;33m         return F.conv2d(input, weight, self.bias, self.stride,\n\u001b[0m\u001b[0;32m    420\u001b[0m                         self.padding, self.dilation, self.groups)\n\u001b[0;32m    421\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mRuntimeError\u001b[0m: Expected object of device type cuda but got device type cpu for argument #1 'self' in call to _thnn_conv2d_forward"
     ]
    }
   ],
   "source": [
    "nett = nn.Sequential(\n",
    "    nn.Conv2d(1,64,kernel_size=3, stride=1, padding=1),\n",
    "    nn.Conv2d(64,64,kernel_size=3, stride=1, padding=1),\n",
    "    nn.MaxPool2d(2, 2),\n",
    "    nn.BatchNorm2d(64),\n",
    "    nn.Conv2d(64,128,3,padding=1),\n",
    "    nn.Conv2d(128, 128, 3,padding=1),\n",
    "    nn.MaxPool2d(2, 2, padding=1),\n",
    "    nn.BatchNorm2d(128),\n",
    "    nn.Flatten(),\n",
    "    nn.Linear(128*8*8,512),\n",
    "    nn.ReLU(),\n",
    "    nn.Dropout2d(p=0.3),\n",
    "    nn.Linear(512,128),\n",
    "    nn.ReLU(),\n",
    "    nn.Dropout2d(p=0.3),\n",
    "    nn.Linear(128,10))\n",
    "\n",
    "nett.load_state_dict(torch.load(\"net.params\"))\n",
    "nett.eval()\n",
    "\n",
    "for i in range(len(dataSet)):\n",
    "    yy[i]=net(Variable(torch.unsqueeze(dataSet[i][0], dim=0).float(), requires_grad=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b36ee1b1",
   "metadata": {},
   "source": [
    "### 结果\n",
    "通过训练模型的运算，完成爬虫图片的判断，但是结果较差。\n",
    "\n",
    "### 原因分析\n",
    "由于在建模阶段证明了模型是好的，但是对于其他类别的图片，模型的识别率并不好，大部分会错误地识别成Bag\n",
    "主要是因为百度上爬取的图片和fashionmist数据差异性较大，搭建的网络跨域性不好模型不适应造成的\n",
    "\n",
    "### 改进\n",
    "1.进一步对爬取的图片进行预处理，使得两者差异进一步减小\n",
    "\n",
    "2.利用迁移学习改进网络模型"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
